a tabu search-based memetic algorithm for hardware/software partitioning

16
Research Article A Tabu Search-Based Memetic Algorithm for Hardware/Software Partitioning Geng Lin, 1 Wenxing Zhu, 2 and M. Montaz Ali 3,4 1 Department of Mathematics, Minjiang University, Fuzhou 350108, China 2 Center for Discrete Mathematics and eoretical Computer Science, Fuzhou University, Fuzhou 350108, China 3 School of Computational and Applied Mathematics, Faculty of Science, University of the Witwatersrand, (Wits), Johannesburg 2050, South Africa 4 TCSE, Faculty of Engineering and Build Environment, University of the Witwatersrand, (Wits), Johannesburg 2050, South Africa Correspondence should be addressed to Geng Lin; [email protected] Received 24 March 2014; Revised 16 June 2014; Accepted 16 June 2014; Published 13 July 2014 Academic Editor: Jiaji Wu Copyright © 2014 Geng Lin 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. Hardware/soſtware (HW/SW) partitioning is to determine which components of a system are implemented on hardware and which ones on soſtware. It is one of the most important steps in the design of embedded systems. e HW/SW partitioning problem is an NP-hard constrained binary optimization problem. In this paper, we propose a tabu search-based memetic algorithm to solve the HW/SW partitioning problem. First, we convert the constrained binary HW/SW problem into an unconstrained binary problem using an adaptive penalty function that has no parameters in it. A memetic algorithm is then suggested for solving this unconstrained problem. e algorithm uses a tabu search as its local search procedure. is tabu search has a special feature with respect to solution generation, and it uses a feedback mechanism for updating the tabu tenure. In addition, the algorithm integrates a path relinking procedure for exploitation of newly found solutions. Computational results are presented using a number of test instances from the literature. e algorithm proves its robustness when its results are compared with those of two other algorithms. e effectiveness of the proposed parameter-free adaptive penalty function is also shown. 1. Introduction e embedded systems have become omnipresent in a wide variety of applications and typically consist of application specific hardware components and programmable compo- nents. With the growing complexity of embedded systems, hardware/soſtware codesign has become an effective way of improving design quality, in which the HW/SW partitioning is the most critical step. HW/SW partitioning decides which tasks of an embed- ded system should be implemented in hardware and which ones should be in soſtware. A task implemented with a hardware module is faster but more expensive, while a task implemented with a soſtware module is slower but cheaper. For this reason, the main target of HW/SW partitioning is to balance all the tasks to optimize some objectives of the system under some constraints [1]. In recent years, there has been an increasing interest in the study of the HW/SW partitioning problem. Several exact approaches [25] to the problem have been developed. However, since most of the exact formulations of the HW/SW partitioning problem are NP-hard [6], the practical useful- ness of these approaches is limited to fairly small problem instances only. For larger instances, a number of heuristic algorithms, both traditional and general purpose, have been proposed. ere are two traditional families of heuristics: the soſt- ware-oriented heuristic and the hardware-oriented heuris- tic. e soſtware-oriented heuristic starts with a complete soſtware solution and parts of the system are migrated to hardware until all constraints are satisfied. On the other hand, the hardware-oriented heuristic starts with a complete hardware solution and moves parts of the system to soſtware until a constraint is violated. Hindawi Publishing Corporation Mathematical Problems in Engineering Volume 2014, Article ID 103059, 15 pages http://dx.doi.org/10.1155/2014/103059

Upload: wits

Post on 04-Nov-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

Research ArticleA Tabu Search-Based Memetic Algorithm forHardwareSoftware Partitioning

Geng Lin1 Wenxing Zhu2 and M Montaz Ali34

1 Department of Mathematics Minjiang University Fuzhou 350108 China2 Center for Discrete Mathematics and Theoretical Computer Science Fuzhou University Fuzhou 350108 China3 School of Computational and Applied Mathematics Faculty of Science University of the Witwatersrand (Wits)Johannesburg 2050 South Africa

4 TCSE Faculty of Engineering and Build Environment University of the Witwatersrand (Wits) Johannesburg 2050 South Africa

Correspondence should be addressed to Geng Lin lingeng413163com

Received 24 March 2014 Revised 16 June 2014 Accepted 16 June 2014 Published 13 July 2014

Academic Editor Jiaji Wu

Copyright copy 2014 Geng Lin et alThis is an open access article distributed under the Creative CommonsAttribution License whichpermits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

Hardwaresoftware (HWSW) partitioning is to determine which components of a system are implemented on hardware andwhichones on software It is one of the most important steps in the design of embedded systems The HWSW partitioning problemis an NP-hard constrained binary optimization problem In this paper we propose a tabu search-based memetic algorithm tosolve the HWSW partitioning problem First we convert the constrained binary HWSW problem into an unconstrained binaryproblem using an adaptive penalty function that has no parameters in it A memetic algorithm is then suggested for solving thisunconstrained problem The algorithm uses a tabu search as its local search procedure This tabu search has a special feature withrespect to solution generation and it uses a feedback mechanism for updating the tabu tenure In addition the algorithm integratesa path relinking procedure for exploitation of newly found solutions Computational results are presented using a number of testinstances from the literatureThe algorithm proves its robustness when its results are compared with those of two other algorithmsThe effectiveness of the proposed parameter-free adaptive penalty function is also shown

1 Introduction

The embedded systems have become omnipresent in a widevariety of applications and typically consist of applicationspecific hardware components and programmable compo-nents With the growing complexity of embedded systemshardwaresoftware codesign has become an effective way ofimproving design quality in which the HWSW partitioningis the most critical step

HWSW partitioning decides which tasks of an embed-ded system should be implemented in hardware and whichones should be in software A task implemented with ahardware module is faster but more expensive while a taskimplemented with a software module is slower but cheaperFor this reason the main target of HWSW partitioning is tobalance all the tasks to optimize some objectives of the systemunder some constraints [1]

In recent years there has been an increasing interestin the study of the HWSW partitioning problem Severalexact approaches [2ndash5] to the problem have been developedHowever sincemost of the exact formulations of theHWSWpartitioning problem are NP-hard [6] the practical useful-ness of these approaches is limited to fairly small probleminstances only For larger instances a number of heuristicalgorithms both traditional and general purpose have beenproposed

There are two traditional families of heuristics the soft-ware-oriented heuristic and the hardware-oriented heuris-tic The software-oriented heuristic starts with a completesoftware solution and parts of the system are migrated tohardware until all constraints are satisfied On the otherhand the hardware-oriented heuristic starts with a completehardware solution and moves parts of the system to softwareuntil a constraint is violated

Hindawi Publishing CorporationMathematical Problems in EngineeringVolume 2014 Article ID 103059 15 pageshttpdxdoiorg1011552014103059

2 Mathematical Problems in Engineering

Up to now many general-purpose heuristics or meta-heuristics have also been applied to solve the HWSWpartitioning problemThese include simulated annealing [7ndash9] genetic algorithm [10ndash12] tabu search [8 13ndash15] artificialimmune [16] and the Kernighan-Lin heuristic [17 18] Thereare also some other methods for solving the problem see [19]for details

It must be mentioned that the HWSW partitioningproblem is to minimize a cost while satisfying some designconstraints In fact the problem is a discrete constrainedoptimization problem and the optimal solutions usually lieon the boundary of the feasible region Hence it is necessaryto develop effective techniques in handling the constraints

This paper presents a tabu search-based memetic algo-rithm (TSMA) for solving theHWSWpartitioning problemThe TSMA uses an adaptive penalty function to convert theoriginal problem into an equivalent unconstrained integerprogramming problem both problems have the samediscreteglobal minimizers The TSMA is then applied to uncon-strained integer programming problem in order to solvethe original problem The TSMA integrates a tabu searchprocedure a path relinking procedure and a populationupdating strategyThese strategies achieve a balance betweenintensification and diversification of the search process Thealgorithm has been tested on four benchmark test instancesin the literature Experimental results and comparisons showthat the proposed algorithm is effective and robust

The remaining part of this paper is organized as followsSection 2 gives the system model and problem formula-tion Section 3 presents the parameter-free adaptive penaltyfunction used in converting the original problem into theunconstrained problem Section 3 also presents some theo-retical properties of the resulting unconstrained problem InSection 4 a full description of TSMA is presented Experi-mental results on four benchmark test instances are presentedin Section 5 Final remarks are given in Section 6

2 HardwareSoftware PartitioningModel and Formulation

The HWSW partitioning model discussed in this paper issimilar to that presented in [16] In order to make the paperself-contained this section briefly reviews the description ofthe HWSW partitioning model considered in [16]

21 Function Description The main function of the systemis usually described by a high-level programming languageand then the function will be mapped into a control-dataflow graph (CDFG) The CDFG is composed of nodes andarcs [20 21] Generally the CDFG is a directed acyclic graph(DAG) In the DAG the nodes are determined by the modelgranularity that is the semantic of a node A node canrepresent a short sequence of instructions a basic blocka function or a procedure [12] The arcs between nodesdenote their relationship Each node in DAG can receivedata from its previous nodes and can send data to its nextnodes

HA1 HA2 HAm

Memory

Programmableprocessor

middot middot middot

Figure 1 The partition model discussed in this paper [16]

22 Binary Integer Programming Formulation In a directedacyclic graph (DAG) 119866 = (119881 119864) with node set 119881 =

1 2 119899 and arc set 119864 every node is labeled with severalattributes The attributes for a node 119894 are defined as follows

(i) 119886119904119894denotes the cost of 119894 in software implementation

(ii) 119905119904119894denotes the executing time of 119894 in software imple-

mentation

(iii) 119886ℎ119894denotes the cost of 119894 in hardware implementation

(iv) 119905ℎ119894denotes the executing time of 119894 in hardware

implementation

(v) 119903119894is an array which denotes the set of incoming nodes

of 119894 and stores the set of corresponding communica-tion times

(vi) 119908119894is an array which denotes the set of outgoing nodes

of 119894 and stores the set of corresponding communica-tion times

(vii) 119901119888119894denotes the number of times that node 119894 is

executed

Figure 1 [16] shows the partitionmodel used in this paperwhere ldquoHA1rdquo ldquoHA2rdquo and ldquoHA119898rdquo denote the 119898 hard-ware nodes implemented by application specific integratedcircuit (ASIC) or field programmable gate array (FPGA)Thesoftware nodes are executed in a programmable processor(CPU) All the nodes exchange data through a shared busand they share the commonmemory to store the interimdataAll the hardware nodes without dependency can be executedconcurrently [16]

After all nodes are determined to be implemented byhardware or software all the nodes are scheduled The totalexecuting time 119879 can be evaluated by the list schedulealgorithm [11 22] and the cost of the design can be evaluatedThe detailed steps of the list schedule algorithm are shown inAlgorithm 1

In this paper the objective is to minimize the total costof the system under the time constraint Since the costof software is usually negligible the HWSW partitioningproblem can be described as follows [11]

min sum

119894isin119867

119886ℎ119894

st 119879 le TimeReq(P)

Mathematical Problems in Engineering 3

(1) Initialization Set two attributes for every node start and finish which are used for recording the nodersquosstarting time and finishing time Choose all nodes without data dependency from the node set and put theminto a ready queue Choose one software node from the queue to be executed by CPU and all hardware nodesto be executed at the same time Set 0 as the values of the start attributes for the running nodes Set the sumof the executing time and the communication time as the values of the finish attributes If there is a softwarenode being executed by CPU set CPU = BUSY

(2) repeat(3) Select the node with the minimal 119891119894119899119894119904ℎ time from the ready queue mark it as 119894(4) Remove node 119894 from the queue If 119894 is a software node set 119862119875119880 = 119865119877119864119864(5) If 119862119875119880 = 119865119877119864119864 choose one software node 119895 from the queue to execute and set 119862119875119880 = 119861119880119878119884

Set 119904119905119886119903119905[119895] = 119891119894119899119894119904ℎ[119894] 119891119894119899119894119904ℎ[119895] = 119904119905119886119903119905[119895] + 119905119904119895+ 119888119900119898119898[119895] where 119888119900119898119898[119895] denotes the communication

time of node 119895 with other nodes(6) Choose all hardware nodes to execute concurrently Set their 119904119905119886119903119905 and 119891119894119899119894119904ℎ attributes as in Line (5)(7) untilThe ready queue is empty(8) return Choose the maximal 119891119894119899119894119904ℎ time of all the nodes as the system executing time denoted as 119879

Algorithm 1 List schedule algorithm [16 22]

where 119894 isin 119867means that node 119894 is implemented by hardware119879 denotes the total executing time and TimeReq denotes therequired time which is given in advance by the designer

Let 119909 = (1199091 119909

119899)119879

isin 0 1119899 denote a solution of

the problem (P) 119909119894 = 1 (119909119894= 0) indicates that node

119894 is implemented by hardware (software) Then problem(P) can be formulated as the following constrained binaryprogramming problem

min 119891 (119909) =

119899

sum

119894=1

119909119894119886ℎ119894

st 119905 (119909) le TimeReq

119909119894isin 0 1 119894 = 1 119899

(IP)

where 119905(119909) denotes the total executing time of 119909which can beevaluated by the list schedule algorithm that is Algorithm 1We suppose without loss of generality that 119886119904

119894 119905119904119894 119886ℎ119894 119905ℎ119894 119903119894

119908119894 119901119888119894 and TimeReq are nonnegative integers

3 The Adaptive Penalty Function

In this section we introduce the basic form of the penaltyfunction for constrained optimization problem and presentan adaptive penalty function to convert the problem (IP) intoan unconstrained binary optimization problem

31TheBasic Penalty Function Avariety of penalty functionshave been proposed to deal with constraints Of them theexact penalty function and the quadratic penalty functionare most basic and widely used [23ndash25] Using these penaltyfunctions problem (IP) can be converted into the followingunconstrained problem

120594 (119909 119877 119902) = 119891 (119909) + 119877 times 120595 (119909) (1)

where 120595(119909) = max0 119905(119909) minus TimeReq119902 119877 is the penaltyparameter and 119902 ge 1 For 119902 = 1 (resp 119902 = 2) the optimiza-tionmethod that uses (1) is known as the exact (the quadratic)penalty function method

Let 119878 = 0 1119899 and denote by 119878 the feasible solution space

of (IP) that is 119878 = 119909 | 119909 isin 119878 and 119905(119909) le TimeReq Weconstruct the following auxiliary problem

min 120594 (119909 119877 119902) = 119891 (119909) + 119877 times 120595 (119909)

st 119909 isin 119878

(UIP1)

where (119909) = max0 119905(119909) minus TimeReq119902 119877 gt 0 is the penaltyparameter and 119902 ge 1

32 The Proposed Adaptive Penalty Function It is a well-known fact that the penalty parameter119877 in (1) is sensitive andproblem-dependent Hence it is difficult to choose a valuefor 119877 [26] that can be used for a wide range of optimizationproblems Therefore a number of authors [27ndash31] havesuggested parameter-free penalty functions to do away withthe sensitive parameter 119877 Following the same reasoningswe propose the following param0065ter-free adaptive penaltyfunction

119871 (119909) =

119891 (119909) if 120593 (119909) = 0

120593 (119909) + 119880 if 120593 (119909) gt 0 119891 (119909) le 119880

120593 (119909) + 119891 (119909) if 120593 (119909) gt 0 119891 (119909) gt 119880

(2)

where

120593 (119909) = max 0 119905 (119909) minus TimeReq (3)

and 119880 is an upper bound on the global minimum value ofproblem (IP) Since the cost of the system is smaller thansum119899

119894=1119886ℎ119894 we can initialize 119880 = sum

119899

119894=1119886ℎ119894 The value of 119880 needs

to be updated by the current best known objective functionvalue at a feasible solution

Based on this adaptive penalty function we construct thefollowing problem

min 119871 (119909)

st 119909 isin 119878

(UIP2)

4 Mathematical Problems in Engineering

Definition 1 A solution 119910 isin 119878 is called a discrete localminimizer of problem (IP) if 119891(119910) le 119891(119909) for all 119909 isin

119873(119910) cap 119878 where119873(119910) is a neighborhood of 119910 Furthermoreif 119891(119910) le 119891(119909) for all 119909 isin 119878 then 119910 is called a discrete globalminimizer of problem (IP)

Theorem 2 Let 119880 be an upper bound on the discrete globalminimum value of problem (IP) then problems (IP) and(UIP2) have the same discrete global minimizers and globalminimal values

Proof Let 119909lowast be a discrete global minimizer of problem (IP)then 120593(119909

lowast) = 0 and 119891(119909) le 119891(119909

lowast) for all 119909 isin 119878 Consider

two sets 119878 and 119878 119878For all 119909 isin 119878 by (3) we have 120593(119909) = 0 then

119871 (119909) = 119891 (119909) ge 119891 (119909lowast) = 119871 (119909

lowast) (4)

For all 119909 isin 119878 119878 we have two cases (i) 120593(119909) gt 0 and119891(119909) le 119880 and (ii) 120593(119909) gt 0 and 119891(119909) gt 119880

Case (i) By (2) we have

119871 (119909) = 120593 (119909) + 119880 ge 120593 (119909) + 119891 (119909lowast) gt 119891 (119909

lowast) = 119871 (119909

lowast) (5)

Case (ii) By (2) we have 119871(119909) = 120593(119909) + 119891(119909) Since 119891(119909) gt119880 gt 119891(119909

lowast) = 119871(119909

lowast) it holds

119871 (119909) = 120593 (119909) + 119891 (119909) gt 119880 gt 119871 (119909lowast) (6)

From (4) (5) and (6) it is obvious that 119909lowast is a discreteglobal minimizer of problem (UIP2)

Conversely let 119909lowast be a discrete global minimizer ofproblem (UIP2) then

119871 (119909) ge 119871 (119909lowast) forall119909 isin 119878 (7)

Suppose that 119909lowast notin 119878 that is 120593(119909lowast) gt 0 If 119891(119909lowast) le 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119880 gt 119880 ge 119891 (119910) (8)

where 119910 is a discrete global minimizer of problem (IP) thatis 120593(119910) = 0 If 119891(119909lowast) gt 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119891 (119909

lowast) gt 119880 ge 119891 (119910) (9)

Hence

119871 (119909lowast) gt 119891 (119910) (10)

Since 119871(119910) = 119891(119910) inequality (10) implies that 119871(119909lowast) gt119871(119910) which means that 119909lowast is not a discrete global minimizerof problem (UIP2) So 119909lowast isin 119878 and problems (IP) and (UIP2)have the same discrete global minimizers and global minimalvalues

Theorem 3 Suppose that 119910 is a solution of problem (UIP2)and 119871(119910) lt 119880 Then 119910 is a feasible solution of problem (IP)

Proof If 119910 is an infeasible solution of problem (IP) then120593(119910) gt 0 By (2) if 119891(119910) le 119880 we have 119871(119910) = 120593(119909) + 119880 gt 119880If 119891(119910) gt 119880 then 119871(119910) = 120593(119910) + 119891(119910) gt 119880 So it holds that119871(119910) gt 119880 which contradicts the condition 119871(119910) lt 119880 Hencethe theorem holds

4 The Proposed Memetic Algorithm forHWSW Partitioning

Memetic algorithms (MAs) are a kind of global search tech-nique derived fromDarwinian principles of natural evolutionand Dawkinsrsquo notion of memes [32] They are genetic algo-rithms that use local search procedures to intensify the search[33]MAs have been applied to solve a variety of optimizationproblems [34ndash40]

In this section a tabu search-based memetic algorithmTSMA is presented to solve the parameter-free uncon-strained problem (UIP2) First a general framework ofTSMA is presented followed by detailed descriptions ofvarious components of the algorithm

41 General Framework of the Hybrid Memetic AlgorithmThe steps of the general framework of TSMA for solving(UIP2) is shown in Algorithm 2 Throughout its executionthe TSMA updates the upper bound 119880 with the functionvalue at the current best solution 119909lowast

Before the TSMA begins its iterative process performsthree main steps see Algorithm 2 In step 1 it initializes thefirst upper bound119880 of (UIP2)with the known trivial solutionwhere 119909

119894= 1 119894 = 1 2 119899 In step 2 it generates the initial

random population set of size 119901 that is 119875 = 1199091 119909

119901

119909119896isin 119878 119896 = 1 2 119901 In step 4 the TSMA refines each

member of the initial population 119875 by the local search thetabu search and treats 119875 as the starting population set

As the iteration process begins the TSMA repeatedlyperforms threemain steps crossover followed by tabu searchpath relinking and the updating of 119875 In step 10 a new solu-tion 1199090 is identified using the crossover operation followed bytabu search In step 17 the path relinking procedure may beapplied to1199090 in an attempt to generate an improved solution119910from 119909

0 Finally in step 22 the population updating processis performed to decide whether 119910 isin 119875 and which solutionshould be replaced provided that such an improved 119910 hasbeen generated The remaining steps of Algorithm 2 are usedto update 119880 and 119909lowast This iterative process repeats itself untilsome stopping conditions are met

The main iterative components of TSMA the crossoverfollowed by the tabu search procedure the path relinking pro-cedure and the population updating strategy are explained inthe subsequent subsections

42 Crossover Operator We adopt the fixed crossover opera-tor [41] to generate a new offspring First a pair of individualsare selected randomly from the population Next if twoselected individuals have the same bit value their offspringinherits it Otherwise it takes value 0 or 1 randomly Supposethat 119909 and 119910 are two selected individuals from the popula-tion The pseudocode of the crossover operator is given inAlgorithm 3

43 The Tabu Search Procedure Tabu search (TS) is a meta-heuristic optimization that has been applied successfully tosolve a number of combinatorial optimization problems [42ndash45] It combines search strategies that are designed to avoid

Mathematical Problems in Engineering 5

Require A directed acyclic graphEnsure Approximate global maximal solution 119909lowast(1) Initial 119880 = sum

119899

119894=1119886ℎ119894 119909lowast = (1 1)

(2) Generate randomly a population 119875 = 1199091 119909

119901

(3) for 119896 = 1 119901 do(4) Use the local search procedure (see Section 43) to minimize problem (1198801198681198752) from

every individual 119909119896 also denote the obtained solution by 119909119896(5) if 119871(119909119896) lt 119880 then(6) Let 119880 = 119871(119909

119896) and 119909lowast = 119909

119896(7) end if(8) end for(9) while termination criteria (see Section 46) do not meet do(10) Use the crossover operator (see Section 42) to generate a new offspring 1199090 and

apply the local search procedure to refine 1199090 also denote it by 1199090(11) if 119871(1199090) lt 119880 then(12) Let 119880 = 119871(119909

0) and 119909lowast = 119909

0(13) end if(14) if 1199090 = 119909

lowast then(15) 119910 = 119909

0(16) else(17) Use the path relinking procedure PR (see Section 44) to the solution

1199090 and the current best solution 119909lowast to obtain a solution 119910

(18) end if(19) if 119871(119910) lt 119880 then(20) Let 119880 = 119871(119910) and 119909lowast = 119910(21) end if(22) Use the population updating method (see Section 45) to update the population that is

to decide if 119910 isin 119875(23) end while(24) return 119909

lowast and 119891(119909lowast) as an approximate discrete global minimizer and global minimalvalue of problem (119868119875) respectively

Algorithm 2 General structure of TSMA

Require Two selected individuals 119909 and 119910Ensure A new offspring 119911(1) for 119894 = 1 119899 do(2) if 119909

119894= 119910119894then

(3) Let 119911119894= 119909119894

(4) else(5) 119911

119894takes value 0 or 1 randomly

(6) end if(7) end for(8) return 119911 as a new offspring

Algorithm 3 Crossover operator

being trapped in a local minimizer and to present revisitingrecently generated solutions [46] The neighborhood struc-ture and the tabu tenure with which TS is implementedare fundamental to achieving the above objectives A newsolution 1199090 is generated from the existing solution 119909 within adefined neighborhood of 119909 by the operation called a ldquomoverdquoThe solution 1199090 is not generated again for a number of itera-tions (tabu tenure)

The tabu search procedure presented here differs mainlyin solution generation While we preserve the tabu tenurefeature of TS we do away with the neighborhood structure ingenerating 1199090 from 119909 The solution generation procedure hasbeen suggested here to conform to the problem at hand andto make the search greedier In particular a sequence of flips(each flip returns a solution) on the (allowed) componentsof 119909 are carried out The best solution from the sequence isconsidered as 1199090 More specific to the problem considereda flip gain 119892119886119894119899(119894 119909) of a node 119894 (node 119894 corresponds to thevariable 119909

119894) is defined as follows

119892119886119894119899 (119894 119909) = 119871 (119909) minus 119871 (1199091 119909119894minus1 1 minus 119909119894 119909119894+1 119909119899)

(11)

A positive gain is a gain when the objective value of problem(UIP2) decreases if the component (variable) 119909

119894is flipped

from the current value to its complement that is if 119909119894= 1

then its value is changed to119909119894= 0Therefore for each variable

119909119894we keep an associated tabu tenure 119879

119894which prevents 119909

119894

from being flipped again until 119879119894diminishes (119879

119894le 0) Hence

the 119894th gain (119894 = 1 2 119899) is calculated using (11) when it ispermitted by the tabu tenure 119879

119894or some aspiration criterion

is satisfied

6 Mathematical Problems in Engineering

Require An initial solution 1199090EnsureThe best solution 119909best(1) Set the parameters119872119886119909119888119900119906119899119905 and 119879

119895 119895 = 1 119899 Initiate 119888119900119906119899119905 = 0 119905

119894= 0 119894 = 1 119899 and 119909best

= 1199090

(2) while 119888119900119906119899119905 lt 119872119886119909119888119900119906119899119905 do(3) Calculate the flip gain 119892119886119894119899(119894 1199090) 119894 = 1 119899 using (11)(4) 119895 = argmax119892119886119894119899(119894 1199090)|119905

119894= 0 or 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

best) 119894 = 1 119899

(5) Let 1199090119895= 1 minus 119909

0

119895 Rename the solution corresponding to this change as 1199090 again Calculate 119879

119895by (12) let 119905

119895= 119879119895

(6) if 119871(1199090) lt 119871(119909best

) then(7) Let 119909best

= 1199090

(8) end if(9) 119888119900119906119899119905 = 119888119900119906119899119905 + 1(10) for 119894 = 1 119899 do(11) if 119905

119894gt 0 then

(12) Let 119905119894= 119905119894minus 1

(13) end if(14) end for(15) if 119888119900119906119899119905 gt 119872119886119909119888119900119906119899119905 then(16) Break(17) end if(18) end while(19) return 119909

best

Algorithm 4 The tabu search procedure

At the beginning of the tabu search procedure 119879119894(119894 =

1 2 119899) are initialized by the user and if 119909119894is flipped the

corresponding 119879119894is updated as suggested by Cai et al [42]

as follows

119879119894=

119879119894+ 119879119894timessum119901

119896=1119909119896

119894

119901if 119909119894= 1

119879119894+ 119879119894times119901 minus sum

119901

119896=1119909119896

119894

119901otherwise

(12)

The updating rule (12) is called the feedback mechanism inCai et al [42] as this updating prevents 119879

119894from being too

large or too smallWe have proposed a simple aspiration criterion that

permits a variable to be flipped in spite of being tabu if itleads to a solution better than the best solution 119909best producedby the tabu search procedure thus far There are a numberof parameters which are needed to be initialized These arethe maximum numbers of iterations 119872119886119909119888119900119906119899119905 and the 119879

119894

values (119894 = 1 2 119899) The tabu search procedure we havesuggested here is now summarized in Algorithm 4 Noticethat the index 119895 in step 4 denotes that the node 119895 is not inthe tabu list (119905

119895= 0) or when the aspiration criterion is met

(which is a positive gain) The tabu search procedure processstops when119872119886119909119888119900119906119899119905 of iterations is reached and returns thebest solution found in the process

44 Path Relinking (PR) Procedure The path relinking tech-nique was originally proposed by Glover et al [47] toexplore possible trajectories connecting high quality solu-tions obtained by heuristics It has been applied successfullyto solve a number of optimization problems such as datamining [48] unconstrained binary quadratic programming

[49] capacitated clustering [50] andmultiobjective knapsackproblem [51]

ThePRprocedure presented here explores solution trajec-tories using two good solutions Within the iteration processof TSMA there are always two such solutions the currentbest solution 119909

lowast and the 1199090 produced by the tabu search

procedure When 119909lowast

= 1199090 PR is executed in an attempt to

improve the current best solution 119909lowast At the beginning PR

identifies the number of variables whose values differ in 1199090

and 119909lowast The indices of these variables are then kept in a set119863 PR then starts its iteration process For each index in 119863

an iteration is executed PR stops if an improved 119909lowast has beenfound during an iteration

An iteration starts with identifying the index 119895 corre-sponding to the highest gain that is 119895 = argmax119892119886119894119899(119894 1199090) |for all 119894 Let the solution corresponding to the flipping of1199090

119895be 1199090 The following tasks are then performed to see (a)

whether PR has obtained a new best solution or (b) whetherPR is approaching towards the current 119909lowast

(a) If 119871(1199090) lt 119871(119909lowast) then PR stops as it has found a new

best solution(b) Otherwise 1199090 is modified by 119909

0

119895= 1 minus 119909

0

119895where

119895 = argmax119892119886119894119899(119894 1199090) | 119894 isin 119863 The index 119895 is thenremoved from119863

PR then proceeds with next iteration for the next index in119863The pseudocode of the PR is illustrated in Algorithm 5

45 Population Updating Strategy A combination of inten-sification and diversification is essential for designing highquality hybrid heuristic algorithms [52 53] We have pre-sented how the TSMA implements its search intensification

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

2 Mathematical Problems in Engineering

Up to now many general-purpose heuristics or meta-heuristics have also been applied to solve the HWSWpartitioning problemThese include simulated annealing [7ndash9] genetic algorithm [10ndash12] tabu search [8 13ndash15] artificialimmune [16] and the Kernighan-Lin heuristic [17 18] Thereare also some other methods for solving the problem see [19]for details

It must be mentioned that the HWSW partitioningproblem is to minimize a cost while satisfying some designconstraints In fact the problem is a discrete constrainedoptimization problem and the optimal solutions usually lieon the boundary of the feasible region Hence it is necessaryto develop effective techniques in handling the constraints

This paper presents a tabu search-based memetic algo-rithm (TSMA) for solving theHWSWpartitioning problemThe TSMA uses an adaptive penalty function to convert theoriginal problem into an equivalent unconstrained integerprogramming problem both problems have the samediscreteglobal minimizers The TSMA is then applied to uncon-strained integer programming problem in order to solvethe original problem The TSMA integrates a tabu searchprocedure a path relinking procedure and a populationupdating strategyThese strategies achieve a balance betweenintensification and diversification of the search process Thealgorithm has been tested on four benchmark test instancesin the literature Experimental results and comparisons showthat the proposed algorithm is effective and robust

The remaining part of this paper is organized as followsSection 2 gives the system model and problem formula-tion Section 3 presents the parameter-free adaptive penaltyfunction used in converting the original problem into theunconstrained problem Section 3 also presents some theo-retical properties of the resulting unconstrained problem InSection 4 a full description of TSMA is presented Experi-mental results on four benchmark test instances are presentedin Section 5 Final remarks are given in Section 6

2 HardwareSoftware PartitioningModel and Formulation

The HWSW partitioning model discussed in this paper issimilar to that presented in [16] In order to make the paperself-contained this section briefly reviews the description ofthe HWSW partitioning model considered in [16]

21 Function Description The main function of the systemis usually described by a high-level programming languageand then the function will be mapped into a control-dataflow graph (CDFG) The CDFG is composed of nodes andarcs [20 21] Generally the CDFG is a directed acyclic graph(DAG) In the DAG the nodes are determined by the modelgranularity that is the semantic of a node A node canrepresent a short sequence of instructions a basic blocka function or a procedure [12] The arcs between nodesdenote their relationship Each node in DAG can receivedata from its previous nodes and can send data to its nextnodes

HA1 HA2 HAm

Memory

Programmableprocessor

middot middot middot

Figure 1 The partition model discussed in this paper [16]

22 Binary Integer Programming Formulation In a directedacyclic graph (DAG) 119866 = (119881 119864) with node set 119881 =

1 2 119899 and arc set 119864 every node is labeled with severalattributes The attributes for a node 119894 are defined as follows

(i) 119886119904119894denotes the cost of 119894 in software implementation

(ii) 119905119904119894denotes the executing time of 119894 in software imple-

mentation

(iii) 119886ℎ119894denotes the cost of 119894 in hardware implementation

(iv) 119905ℎ119894denotes the executing time of 119894 in hardware

implementation

(v) 119903119894is an array which denotes the set of incoming nodes

of 119894 and stores the set of corresponding communica-tion times

(vi) 119908119894is an array which denotes the set of outgoing nodes

of 119894 and stores the set of corresponding communica-tion times

(vii) 119901119888119894denotes the number of times that node 119894 is

executed

Figure 1 [16] shows the partitionmodel used in this paperwhere ldquoHA1rdquo ldquoHA2rdquo and ldquoHA119898rdquo denote the 119898 hard-ware nodes implemented by application specific integratedcircuit (ASIC) or field programmable gate array (FPGA)Thesoftware nodes are executed in a programmable processor(CPU) All the nodes exchange data through a shared busand they share the commonmemory to store the interimdataAll the hardware nodes without dependency can be executedconcurrently [16]

After all nodes are determined to be implemented byhardware or software all the nodes are scheduled The totalexecuting time 119879 can be evaluated by the list schedulealgorithm [11 22] and the cost of the design can be evaluatedThe detailed steps of the list schedule algorithm are shown inAlgorithm 1

In this paper the objective is to minimize the total costof the system under the time constraint Since the costof software is usually negligible the HWSW partitioningproblem can be described as follows [11]

min sum

119894isin119867

119886ℎ119894

st 119879 le TimeReq(P)

Mathematical Problems in Engineering 3

(1) Initialization Set two attributes for every node start and finish which are used for recording the nodersquosstarting time and finishing time Choose all nodes without data dependency from the node set and put theminto a ready queue Choose one software node from the queue to be executed by CPU and all hardware nodesto be executed at the same time Set 0 as the values of the start attributes for the running nodes Set the sumof the executing time and the communication time as the values of the finish attributes If there is a softwarenode being executed by CPU set CPU = BUSY

(2) repeat(3) Select the node with the minimal 119891119894119899119894119904ℎ time from the ready queue mark it as 119894(4) Remove node 119894 from the queue If 119894 is a software node set 119862119875119880 = 119865119877119864119864(5) If 119862119875119880 = 119865119877119864119864 choose one software node 119895 from the queue to execute and set 119862119875119880 = 119861119880119878119884

Set 119904119905119886119903119905[119895] = 119891119894119899119894119904ℎ[119894] 119891119894119899119894119904ℎ[119895] = 119904119905119886119903119905[119895] + 119905119904119895+ 119888119900119898119898[119895] where 119888119900119898119898[119895] denotes the communication

time of node 119895 with other nodes(6) Choose all hardware nodes to execute concurrently Set their 119904119905119886119903119905 and 119891119894119899119894119904ℎ attributes as in Line (5)(7) untilThe ready queue is empty(8) return Choose the maximal 119891119894119899119894119904ℎ time of all the nodes as the system executing time denoted as 119879

Algorithm 1 List schedule algorithm [16 22]

where 119894 isin 119867means that node 119894 is implemented by hardware119879 denotes the total executing time and TimeReq denotes therequired time which is given in advance by the designer

Let 119909 = (1199091 119909

119899)119879

isin 0 1119899 denote a solution of

the problem (P) 119909119894 = 1 (119909119894= 0) indicates that node

119894 is implemented by hardware (software) Then problem(P) can be formulated as the following constrained binaryprogramming problem

min 119891 (119909) =

119899

sum

119894=1

119909119894119886ℎ119894

st 119905 (119909) le TimeReq

119909119894isin 0 1 119894 = 1 119899

(IP)

where 119905(119909) denotes the total executing time of 119909which can beevaluated by the list schedule algorithm that is Algorithm 1We suppose without loss of generality that 119886119904

119894 119905119904119894 119886ℎ119894 119905ℎ119894 119903119894

119908119894 119901119888119894 and TimeReq are nonnegative integers

3 The Adaptive Penalty Function

In this section we introduce the basic form of the penaltyfunction for constrained optimization problem and presentan adaptive penalty function to convert the problem (IP) intoan unconstrained binary optimization problem

31TheBasic Penalty Function Avariety of penalty functionshave been proposed to deal with constraints Of them theexact penalty function and the quadratic penalty functionare most basic and widely used [23ndash25] Using these penaltyfunctions problem (IP) can be converted into the followingunconstrained problem

120594 (119909 119877 119902) = 119891 (119909) + 119877 times 120595 (119909) (1)

where 120595(119909) = max0 119905(119909) minus TimeReq119902 119877 is the penaltyparameter and 119902 ge 1 For 119902 = 1 (resp 119902 = 2) the optimiza-tionmethod that uses (1) is known as the exact (the quadratic)penalty function method

Let 119878 = 0 1119899 and denote by 119878 the feasible solution space

of (IP) that is 119878 = 119909 | 119909 isin 119878 and 119905(119909) le TimeReq Weconstruct the following auxiliary problem

min 120594 (119909 119877 119902) = 119891 (119909) + 119877 times 120595 (119909)

st 119909 isin 119878

(UIP1)

where (119909) = max0 119905(119909) minus TimeReq119902 119877 gt 0 is the penaltyparameter and 119902 ge 1

32 The Proposed Adaptive Penalty Function It is a well-known fact that the penalty parameter119877 in (1) is sensitive andproblem-dependent Hence it is difficult to choose a valuefor 119877 [26] that can be used for a wide range of optimizationproblems Therefore a number of authors [27ndash31] havesuggested parameter-free penalty functions to do away withthe sensitive parameter 119877 Following the same reasoningswe propose the following param0065ter-free adaptive penaltyfunction

119871 (119909) =

119891 (119909) if 120593 (119909) = 0

120593 (119909) + 119880 if 120593 (119909) gt 0 119891 (119909) le 119880

120593 (119909) + 119891 (119909) if 120593 (119909) gt 0 119891 (119909) gt 119880

(2)

where

120593 (119909) = max 0 119905 (119909) minus TimeReq (3)

and 119880 is an upper bound on the global minimum value ofproblem (IP) Since the cost of the system is smaller thansum119899

119894=1119886ℎ119894 we can initialize 119880 = sum

119899

119894=1119886ℎ119894 The value of 119880 needs

to be updated by the current best known objective functionvalue at a feasible solution

Based on this adaptive penalty function we construct thefollowing problem

min 119871 (119909)

st 119909 isin 119878

(UIP2)

4 Mathematical Problems in Engineering

Definition 1 A solution 119910 isin 119878 is called a discrete localminimizer of problem (IP) if 119891(119910) le 119891(119909) for all 119909 isin

119873(119910) cap 119878 where119873(119910) is a neighborhood of 119910 Furthermoreif 119891(119910) le 119891(119909) for all 119909 isin 119878 then 119910 is called a discrete globalminimizer of problem (IP)

Theorem 2 Let 119880 be an upper bound on the discrete globalminimum value of problem (IP) then problems (IP) and(UIP2) have the same discrete global minimizers and globalminimal values

Proof Let 119909lowast be a discrete global minimizer of problem (IP)then 120593(119909

lowast) = 0 and 119891(119909) le 119891(119909

lowast) for all 119909 isin 119878 Consider

two sets 119878 and 119878 119878For all 119909 isin 119878 by (3) we have 120593(119909) = 0 then

119871 (119909) = 119891 (119909) ge 119891 (119909lowast) = 119871 (119909

lowast) (4)

For all 119909 isin 119878 119878 we have two cases (i) 120593(119909) gt 0 and119891(119909) le 119880 and (ii) 120593(119909) gt 0 and 119891(119909) gt 119880

Case (i) By (2) we have

119871 (119909) = 120593 (119909) + 119880 ge 120593 (119909) + 119891 (119909lowast) gt 119891 (119909

lowast) = 119871 (119909

lowast) (5)

Case (ii) By (2) we have 119871(119909) = 120593(119909) + 119891(119909) Since 119891(119909) gt119880 gt 119891(119909

lowast) = 119871(119909

lowast) it holds

119871 (119909) = 120593 (119909) + 119891 (119909) gt 119880 gt 119871 (119909lowast) (6)

From (4) (5) and (6) it is obvious that 119909lowast is a discreteglobal minimizer of problem (UIP2)

Conversely let 119909lowast be a discrete global minimizer ofproblem (UIP2) then

119871 (119909) ge 119871 (119909lowast) forall119909 isin 119878 (7)

Suppose that 119909lowast notin 119878 that is 120593(119909lowast) gt 0 If 119891(119909lowast) le 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119880 gt 119880 ge 119891 (119910) (8)

where 119910 is a discrete global minimizer of problem (IP) thatis 120593(119910) = 0 If 119891(119909lowast) gt 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119891 (119909

lowast) gt 119880 ge 119891 (119910) (9)

Hence

119871 (119909lowast) gt 119891 (119910) (10)

Since 119871(119910) = 119891(119910) inequality (10) implies that 119871(119909lowast) gt119871(119910) which means that 119909lowast is not a discrete global minimizerof problem (UIP2) So 119909lowast isin 119878 and problems (IP) and (UIP2)have the same discrete global minimizers and global minimalvalues

Theorem 3 Suppose that 119910 is a solution of problem (UIP2)and 119871(119910) lt 119880 Then 119910 is a feasible solution of problem (IP)

Proof If 119910 is an infeasible solution of problem (IP) then120593(119910) gt 0 By (2) if 119891(119910) le 119880 we have 119871(119910) = 120593(119909) + 119880 gt 119880If 119891(119910) gt 119880 then 119871(119910) = 120593(119910) + 119891(119910) gt 119880 So it holds that119871(119910) gt 119880 which contradicts the condition 119871(119910) lt 119880 Hencethe theorem holds

4 The Proposed Memetic Algorithm forHWSW Partitioning

Memetic algorithms (MAs) are a kind of global search tech-nique derived fromDarwinian principles of natural evolutionand Dawkinsrsquo notion of memes [32] They are genetic algo-rithms that use local search procedures to intensify the search[33]MAs have been applied to solve a variety of optimizationproblems [34ndash40]

In this section a tabu search-based memetic algorithmTSMA is presented to solve the parameter-free uncon-strained problem (UIP2) First a general framework ofTSMA is presented followed by detailed descriptions ofvarious components of the algorithm

41 General Framework of the Hybrid Memetic AlgorithmThe steps of the general framework of TSMA for solving(UIP2) is shown in Algorithm 2 Throughout its executionthe TSMA updates the upper bound 119880 with the functionvalue at the current best solution 119909lowast

Before the TSMA begins its iterative process performsthree main steps see Algorithm 2 In step 1 it initializes thefirst upper bound119880 of (UIP2)with the known trivial solutionwhere 119909

119894= 1 119894 = 1 2 119899 In step 2 it generates the initial

random population set of size 119901 that is 119875 = 1199091 119909

119901

119909119896isin 119878 119896 = 1 2 119901 In step 4 the TSMA refines each

member of the initial population 119875 by the local search thetabu search and treats 119875 as the starting population set

As the iteration process begins the TSMA repeatedlyperforms threemain steps crossover followed by tabu searchpath relinking and the updating of 119875 In step 10 a new solu-tion 1199090 is identified using the crossover operation followed bytabu search In step 17 the path relinking procedure may beapplied to1199090 in an attempt to generate an improved solution119910from 119909

0 Finally in step 22 the population updating processis performed to decide whether 119910 isin 119875 and which solutionshould be replaced provided that such an improved 119910 hasbeen generated The remaining steps of Algorithm 2 are usedto update 119880 and 119909lowast This iterative process repeats itself untilsome stopping conditions are met

The main iterative components of TSMA the crossoverfollowed by the tabu search procedure the path relinking pro-cedure and the population updating strategy are explained inthe subsequent subsections

42 Crossover Operator We adopt the fixed crossover opera-tor [41] to generate a new offspring First a pair of individualsare selected randomly from the population Next if twoselected individuals have the same bit value their offspringinherits it Otherwise it takes value 0 or 1 randomly Supposethat 119909 and 119910 are two selected individuals from the popula-tion The pseudocode of the crossover operator is given inAlgorithm 3

43 The Tabu Search Procedure Tabu search (TS) is a meta-heuristic optimization that has been applied successfully tosolve a number of combinatorial optimization problems [42ndash45] It combines search strategies that are designed to avoid

Mathematical Problems in Engineering 5

Require A directed acyclic graphEnsure Approximate global maximal solution 119909lowast(1) Initial 119880 = sum

119899

119894=1119886ℎ119894 119909lowast = (1 1)

(2) Generate randomly a population 119875 = 1199091 119909

119901

(3) for 119896 = 1 119901 do(4) Use the local search procedure (see Section 43) to minimize problem (1198801198681198752) from

every individual 119909119896 also denote the obtained solution by 119909119896(5) if 119871(119909119896) lt 119880 then(6) Let 119880 = 119871(119909

119896) and 119909lowast = 119909

119896(7) end if(8) end for(9) while termination criteria (see Section 46) do not meet do(10) Use the crossover operator (see Section 42) to generate a new offspring 1199090 and

apply the local search procedure to refine 1199090 also denote it by 1199090(11) if 119871(1199090) lt 119880 then(12) Let 119880 = 119871(119909

0) and 119909lowast = 119909

0(13) end if(14) if 1199090 = 119909

lowast then(15) 119910 = 119909

0(16) else(17) Use the path relinking procedure PR (see Section 44) to the solution

1199090 and the current best solution 119909lowast to obtain a solution 119910

(18) end if(19) if 119871(119910) lt 119880 then(20) Let 119880 = 119871(119910) and 119909lowast = 119910(21) end if(22) Use the population updating method (see Section 45) to update the population that is

to decide if 119910 isin 119875(23) end while(24) return 119909

lowast and 119891(119909lowast) as an approximate discrete global minimizer and global minimalvalue of problem (119868119875) respectively

Algorithm 2 General structure of TSMA

Require Two selected individuals 119909 and 119910Ensure A new offspring 119911(1) for 119894 = 1 119899 do(2) if 119909

119894= 119910119894then

(3) Let 119911119894= 119909119894

(4) else(5) 119911

119894takes value 0 or 1 randomly

(6) end if(7) end for(8) return 119911 as a new offspring

Algorithm 3 Crossover operator

being trapped in a local minimizer and to present revisitingrecently generated solutions [46] The neighborhood struc-ture and the tabu tenure with which TS is implementedare fundamental to achieving the above objectives A newsolution 1199090 is generated from the existing solution 119909 within adefined neighborhood of 119909 by the operation called a ldquomoverdquoThe solution 1199090 is not generated again for a number of itera-tions (tabu tenure)

The tabu search procedure presented here differs mainlyin solution generation While we preserve the tabu tenurefeature of TS we do away with the neighborhood structure ingenerating 1199090 from 119909 The solution generation procedure hasbeen suggested here to conform to the problem at hand andto make the search greedier In particular a sequence of flips(each flip returns a solution) on the (allowed) componentsof 119909 are carried out The best solution from the sequence isconsidered as 1199090 More specific to the problem considereda flip gain 119892119886119894119899(119894 119909) of a node 119894 (node 119894 corresponds to thevariable 119909

119894) is defined as follows

119892119886119894119899 (119894 119909) = 119871 (119909) minus 119871 (1199091 119909119894minus1 1 minus 119909119894 119909119894+1 119909119899)

(11)

A positive gain is a gain when the objective value of problem(UIP2) decreases if the component (variable) 119909

119894is flipped

from the current value to its complement that is if 119909119894= 1

then its value is changed to119909119894= 0Therefore for each variable

119909119894we keep an associated tabu tenure 119879

119894which prevents 119909

119894

from being flipped again until 119879119894diminishes (119879

119894le 0) Hence

the 119894th gain (119894 = 1 2 119899) is calculated using (11) when it ispermitted by the tabu tenure 119879

119894or some aspiration criterion

is satisfied

6 Mathematical Problems in Engineering

Require An initial solution 1199090EnsureThe best solution 119909best(1) Set the parameters119872119886119909119888119900119906119899119905 and 119879

119895 119895 = 1 119899 Initiate 119888119900119906119899119905 = 0 119905

119894= 0 119894 = 1 119899 and 119909best

= 1199090

(2) while 119888119900119906119899119905 lt 119872119886119909119888119900119906119899119905 do(3) Calculate the flip gain 119892119886119894119899(119894 1199090) 119894 = 1 119899 using (11)(4) 119895 = argmax119892119886119894119899(119894 1199090)|119905

119894= 0 or 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

best) 119894 = 1 119899

(5) Let 1199090119895= 1 minus 119909

0

119895 Rename the solution corresponding to this change as 1199090 again Calculate 119879

119895by (12) let 119905

119895= 119879119895

(6) if 119871(1199090) lt 119871(119909best

) then(7) Let 119909best

= 1199090

(8) end if(9) 119888119900119906119899119905 = 119888119900119906119899119905 + 1(10) for 119894 = 1 119899 do(11) if 119905

119894gt 0 then

(12) Let 119905119894= 119905119894minus 1

(13) end if(14) end for(15) if 119888119900119906119899119905 gt 119872119886119909119888119900119906119899119905 then(16) Break(17) end if(18) end while(19) return 119909

best

Algorithm 4 The tabu search procedure

At the beginning of the tabu search procedure 119879119894(119894 =

1 2 119899) are initialized by the user and if 119909119894is flipped the

corresponding 119879119894is updated as suggested by Cai et al [42]

as follows

119879119894=

119879119894+ 119879119894timessum119901

119896=1119909119896

119894

119901if 119909119894= 1

119879119894+ 119879119894times119901 minus sum

119901

119896=1119909119896

119894

119901otherwise

(12)

The updating rule (12) is called the feedback mechanism inCai et al [42] as this updating prevents 119879

119894from being too

large or too smallWe have proposed a simple aspiration criterion that

permits a variable to be flipped in spite of being tabu if itleads to a solution better than the best solution 119909best producedby the tabu search procedure thus far There are a numberof parameters which are needed to be initialized These arethe maximum numbers of iterations 119872119886119909119888119900119906119899119905 and the 119879

119894

values (119894 = 1 2 119899) The tabu search procedure we havesuggested here is now summarized in Algorithm 4 Noticethat the index 119895 in step 4 denotes that the node 119895 is not inthe tabu list (119905

119895= 0) or when the aspiration criterion is met

(which is a positive gain) The tabu search procedure processstops when119872119886119909119888119900119906119899119905 of iterations is reached and returns thebest solution found in the process

44 Path Relinking (PR) Procedure The path relinking tech-nique was originally proposed by Glover et al [47] toexplore possible trajectories connecting high quality solu-tions obtained by heuristics It has been applied successfullyto solve a number of optimization problems such as datamining [48] unconstrained binary quadratic programming

[49] capacitated clustering [50] andmultiobjective knapsackproblem [51]

ThePRprocedure presented here explores solution trajec-tories using two good solutions Within the iteration processof TSMA there are always two such solutions the currentbest solution 119909

lowast and the 1199090 produced by the tabu search

procedure When 119909lowast

= 1199090 PR is executed in an attempt to

improve the current best solution 119909lowast At the beginning PR

identifies the number of variables whose values differ in 1199090

and 119909lowast The indices of these variables are then kept in a set119863 PR then starts its iteration process For each index in 119863

an iteration is executed PR stops if an improved 119909lowast has beenfound during an iteration

An iteration starts with identifying the index 119895 corre-sponding to the highest gain that is 119895 = argmax119892119886119894119899(119894 1199090) |for all 119894 Let the solution corresponding to the flipping of1199090

119895be 1199090 The following tasks are then performed to see (a)

whether PR has obtained a new best solution or (b) whetherPR is approaching towards the current 119909lowast

(a) If 119871(1199090) lt 119871(119909lowast) then PR stops as it has found a new

best solution(b) Otherwise 1199090 is modified by 119909

0

119895= 1 minus 119909

0

119895where

119895 = argmax119892119886119894119899(119894 1199090) | 119894 isin 119863 The index 119895 is thenremoved from119863

PR then proceeds with next iteration for the next index in119863The pseudocode of the PR is illustrated in Algorithm 5

45 Population Updating Strategy A combination of inten-sification and diversification is essential for designing highquality hybrid heuristic algorithms [52 53] We have pre-sented how the TSMA implements its search intensification

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 3

(1) Initialization Set two attributes for every node start and finish which are used for recording the nodersquosstarting time and finishing time Choose all nodes without data dependency from the node set and put theminto a ready queue Choose one software node from the queue to be executed by CPU and all hardware nodesto be executed at the same time Set 0 as the values of the start attributes for the running nodes Set the sumof the executing time and the communication time as the values of the finish attributes If there is a softwarenode being executed by CPU set CPU = BUSY

(2) repeat(3) Select the node with the minimal 119891119894119899119894119904ℎ time from the ready queue mark it as 119894(4) Remove node 119894 from the queue If 119894 is a software node set 119862119875119880 = 119865119877119864119864(5) If 119862119875119880 = 119865119877119864119864 choose one software node 119895 from the queue to execute and set 119862119875119880 = 119861119880119878119884

Set 119904119905119886119903119905[119895] = 119891119894119899119894119904ℎ[119894] 119891119894119899119894119904ℎ[119895] = 119904119905119886119903119905[119895] + 119905119904119895+ 119888119900119898119898[119895] where 119888119900119898119898[119895] denotes the communication

time of node 119895 with other nodes(6) Choose all hardware nodes to execute concurrently Set their 119904119905119886119903119905 and 119891119894119899119894119904ℎ attributes as in Line (5)(7) untilThe ready queue is empty(8) return Choose the maximal 119891119894119899119894119904ℎ time of all the nodes as the system executing time denoted as 119879

Algorithm 1 List schedule algorithm [16 22]

where 119894 isin 119867means that node 119894 is implemented by hardware119879 denotes the total executing time and TimeReq denotes therequired time which is given in advance by the designer

Let 119909 = (1199091 119909

119899)119879

isin 0 1119899 denote a solution of

the problem (P) 119909119894 = 1 (119909119894= 0) indicates that node

119894 is implemented by hardware (software) Then problem(P) can be formulated as the following constrained binaryprogramming problem

min 119891 (119909) =

119899

sum

119894=1

119909119894119886ℎ119894

st 119905 (119909) le TimeReq

119909119894isin 0 1 119894 = 1 119899

(IP)

where 119905(119909) denotes the total executing time of 119909which can beevaluated by the list schedule algorithm that is Algorithm 1We suppose without loss of generality that 119886119904

119894 119905119904119894 119886ℎ119894 119905ℎ119894 119903119894

119908119894 119901119888119894 and TimeReq are nonnegative integers

3 The Adaptive Penalty Function

In this section we introduce the basic form of the penaltyfunction for constrained optimization problem and presentan adaptive penalty function to convert the problem (IP) intoan unconstrained binary optimization problem

31TheBasic Penalty Function Avariety of penalty functionshave been proposed to deal with constraints Of them theexact penalty function and the quadratic penalty functionare most basic and widely used [23ndash25] Using these penaltyfunctions problem (IP) can be converted into the followingunconstrained problem

120594 (119909 119877 119902) = 119891 (119909) + 119877 times 120595 (119909) (1)

where 120595(119909) = max0 119905(119909) minus TimeReq119902 119877 is the penaltyparameter and 119902 ge 1 For 119902 = 1 (resp 119902 = 2) the optimiza-tionmethod that uses (1) is known as the exact (the quadratic)penalty function method

Let 119878 = 0 1119899 and denote by 119878 the feasible solution space

of (IP) that is 119878 = 119909 | 119909 isin 119878 and 119905(119909) le TimeReq Weconstruct the following auxiliary problem

min 120594 (119909 119877 119902) = 119891 (119909) + 119877 times 120595 (119909)

st 119909 isin 119878

(UIP1)

where (119909) = max0 119905(119909) minus TimeReq119902 119877 gt 0 is the penaltyparameter and 119902 ge 1

32 The Proposed Adaptive Penalty Function It is a well-known fact that the penalty parameter119877 in (1) is sensitive andproblem-dependent Hence it is difficult to choose a valuefor 119877 [26] that can be used for a wide range of optimizationproblems Therefore a number of authors [27ndash31] havesuggested parameter-free penalty functions to do away withthe sensitive parameter 119877 Following the same reasoningswe propose the following param0065ter-free adaptive penaltyfunction

119871 (119909) =

119891 (119909) if 120593 (119909) = 0

120593 (119909) + 119880 if 120593 (119909) gt 0 119891 (119909) le 119880

120593 (119909) + 119891 (119909) if 120593 (119909) gt 0 119891 (119909) gt 119880

(2)

where

120593 (119909) = max 0 119905 (119909) minus TimeReq (3)

and 119880 is an upper bound on the global minimum value ofproblem (IP) Since the cost of the system is smaller thansum119899

119894=1119886ℎ119894 we can initialize 119880 = sum

119899

119894=1119886ℎ119894 The value of 119880 needs

to be updated by the current best known objective functionvalue at a feasible solution

Based on this adaptive penalty function we construct thefollowing problem

min 119871 (119909)

st 119909 isin 119878

(UIP2)

4 Mathematical Problems in Engineering

Definition 1 A solution 119910 isin 119878 is called a discrete localminimizer of problem (IP) if 119891(119910) le 119891(119909) for all 119909 isin

119873(119910) cap 119878 where119873(119910) is a neighborhood of 119910 Furthermoreif 119891(119910) le 119891(119909) for all 119909 isin 119878 then 119910 is called a discrete globalminimizer of problem (IP)

Theorem 2 Let 119880 be an upper bound on the discrete globalminimum value of problem (IP) then problems (IP) and(UIP2) have the same discrete global minimizers and globalminimal values

Proof Let 119909lowast be a discrete global minimizer of problem (IP)then 120593(119909

lowast) = 0 and 119891(119909) le 119891(119909

lowast) for all 119909 isin 119878 Consider

two sets 119878 and 119878 119878For all 119909 isin 119878 by (3) we have 120593(119909) = 0 then

119871 (119909) = 119891 (119909) ge 119891 (119909lowast) = 119871 (119909

lowast) (4)

For all 119909 isin 119878 119878 we have two cases (i) 120593(119909) gt 0 and119891(119909) le 119880 and (ii) 120593(119909) gt 0 and 119891(119909) gt 119880

Case (i) By (2) we have

119871 (119909) = 120593 (119909) + 119880 ge 120593 (119909) + 119891 (119909lowast) gt 119891 (119909

lowast) = 119871 (119909

lowast) (5)

Case (ii) By (2) we have 119871(119909) = 120593(119909) + 119891(119909) Since 119891(119909) gt119880 gt 119891(119909

lowast) = 119871(119909

lowast) it holds

119871 (119909) = 120593 (119909) + 119891 (119909) gt 119880 gt 119871 (119909lowast) (6)

From (4) (5) and (6) it is obvious that 119909lowast is a discreteglobal minimizer of problem (UIP2)

Conversely let 119909lowast be a discrete global minimizer ofproblem (UIP2) then

119871 (119909) ge 119871 (119909lowast) forall119909 isin 119878 (7)

Suppose that 119909lowast notin 119878 that is 120593(119909lowast) gt 0 If 119891(119909lowast) le 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119880 gt 119880 ge 119891 (119910) (8)

where 119910 is a discrete global minimizer of problem (IP) thatis 120593(119910) = 0 If 119891(119909lowast) gt 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119891 (119909

lowast) gt 119880 ge 119891 (119910) (9)

Hence

119871 (119909lowast) gt 119891 (119910) (10)

Since 119871(119910) = 119891(119910) inequality (10) implies that 119871(119909lowast) gt119871(119910) which means that 119909lowast is not a discrete global minimizerof problem (UIP2) So 119909lowast isin 119878 and problems (IP) and (UIP2)have the same discrete global minimizers and global minimalvalues

Theorem 3 Suppose that 119910 is a solution of problem (UIP2)and 119871(119910) lt 119880 Then 119910 is a feasible solution of problem (IP)

Proof If 119910 is an infeasible solution of problem (IP) then120593(119910) gt 0 By (2) if 119891(119910) le 119880 we have 119871(119910) = 120593(119909) + 119880 gt 119880If 119891(119910) gt 119880 then 119871(119910) = 120593(119910) + 119891(119910) gt 119880 So it holds that119871(119910) gt 119880 which contradicts the condition 119871(119910) lt 119880 Hencethe theorem holds

4 The Proposed Memetic Algorithm forHWSW Partitioning

Memetic algorithms (MAs) are a kind of global search tech-nique derived fromDarwinian principles of natural evolutionand Dawkinsrsquo notion of memes [32] They are genetic algo-rithms that use local search procedures to intensify the search[33]MAs have been applied to solve a variety of optimizationproblems [34ndash40]

In this section a tabu search-based memetic algorithmTSMA is presented to solve the parameter-free uncon-strained problem (UIP2) First a general framework ofTSMA is presented followed by detailed descriptions ofvarious components of the algorithm

41 General Framework of the Hybrid Memetic AlgorithmThe steps of the general framework of TSMA for solving(UIP2) is shown in Algorithm 2 Throughout its executionthe TSMA updates the upper bound 119880 with the functionvalue at the current best solution 119909lowast

Before the TSMA begins its iterative process performsthree main steps see Algorithm 2 In step 1 it initializes thefirst upper bound119880 of (UIP2)with the known trivial solutionwhere 119909

119894= 1 119894 = 1 2 119899 In step 2 it generates the initial

random population set of size 119901 that is 119875 = 1199091 119909

119901

119909119896isin 119878 119896 = 1 2 119901 In step 4 the TSMA refines each

member of the initial population 119875 by the local search thetabu search and treats 119875 as the starting population set

As the iteration process begins the TSMA repeatedlyperforms threemain steps crossover followed by tabu searchpath relinking and the updating of 119875 In step 10 a new solu-tion 1199090 is identified using the crossover operation followed bytabu search In step 17 the path relinking procedure may beapplied to1199090 in an attempt to generate an improved solution119910from 119909

0 Finally in step 22 the population updating processis performed to decide whether 119910 isin 119875 and which solutionshould be replaced provided that such an improved 119910 hasbeen generated The remaining steps of Algorithm 2 are usedto update 119880 and 119909lowast This iterative process repeats itself untilsome stopping conditions are met

The main iterative components of TSMA the crossoverfollowed by the tabu search procedure the path relinking pro-cedure and the population updating strategy are explained inthe subsequent subsections

42 Crossover Operator We adopt the fixed crossover opera-tor [41] to generate a new offspring First a pair of individualsare selected randomly from the population Next if twoselected individuals have the same bit value their offspringinherits it Otherwise it takes value 0 or 1 randomly Supposethat 119909 and 119910 are two selected individuals from the popula-tion The pseudocode of the crossover operator is given inAlgorithm 3

43 The Tabu Search Procedure Tabu search (TS) is a meta-heuristic optimization that has been applied successfully tosolve a number of combinatorial optimization problems [42ndash45] It combines search strategies that are designed to avoid

Mathematical Problems in Engineering 5

Require A directed acyclic graphEnsure Approximate global maximal solution 119909lowast(1) Initial 119880 = sum

119899

119894=1119886ℎ119894 119909lowast = (1 1)

(2) Generate randomly a population 119875 = 1199091 119909

119901

(3) for 119896 = 1 119901 do(4) Use the local search procedure (see Section 43) to minimize problem (1198801198681198752) from

every individual 119909119896 also denote the obtained solution by 119909119896(5) if 119871(119909119896) lt 119880 then(6) Let 119880 = 119871(119909

119896) and 119909lowast = 119909

119896(7) end if(8) end for(9) while termination criteria (see Section 46) do not meet do(10) Use the crossover operator (see Section 42) to generate a new offspring 1199090 and

apply the local search procedure to refine 1199090 also denote it by 1199090(11) if 119871(1199090) lt 119880 then(12) Let 119880 = 119871(119909

0) and 119909lowast = 119909

0(13) end if(14) if 1199090 = 119909

lowast then(15) 119910 = 119909

0(16) else(17) Use the path relinking procedure PR (see Section 44) to the solution

1199090 and the current best solution 119909lowast to obtain a solution 119910

(18) end if(19) if 119871(119910) lt 119880 then(20) Let 119880 = 119871(119910) and 119909lowast = 119910(21) end if(22) Use the population updating method (see Section 45) to update the population that is

to decide if 119910 isin 119875(23) end while(24) return 119909

lowast and 119891(119909lowast) as an approximate discrete global minimizer and global minimalvalue of problem (119868119875) respectively

Algorithm 2 General structure of TSMA

Require Two selected individuals 119909 and 119910Ensure A new offspring 119911(1) for 119894 = 1 119899 do(2) if 119909

119894= 119910119894then

(3) Let 119911119894= 119909119894

(4) else(5) 119911

119894takes value 0 or 1 randomly

(6) end if(7) end for(8) return 119911 as a new offspring

Algorithm 3 Crossover operator

being trapped in a local minimizer and to present revisitingrecently generated solutions [46] The neighborhood struc-ture and the tabu tenure with which TS is implementedare fundamental to achieving the above objectives A newsolution 1199090 is generated from the existing solution 119909 within adefined neighborhood of 119909 by the operation called a ldquomoverdquoThe solution 1199090 is not generated again for a number of itera-tions (tabu tenure)

The tabu search procedure presented here differs mainlyin solution generation While we preserve the tabu tenurefeature of TS we do away with the neighborhood structure ingenerating 1199090 from 119909 The solution generation procedure hasbeen suggested here to conform to the problem at hand andto make the search greedier In particular a sequence of flips(each flip returns a solution) on the (allowed) componentsof 119909 are carried out The best solution from the sequence isconsidered as 1199090 More specific to the problem considereda flip gain 119892119886119894119899(119894 119909) of a node 119894 (node 119894 corresponds to thevariable 119909

119894) is defined as follows

119892119886119894119899 (119894 119909) = 119871 (119909) minus 119871 (1199091 119909119894minus1 1 minus 119909119894 119909119894+1 119909119899)

(11)

A positive gain is a gain when the objective value of problem(UIP2) decreases if the component (variable) 119909

119894is flipped

from the current value to its complement that is if 119909119894= 1

then its value is changed to119909119894= 0Therefore for each variable

119909119894we keep an associated tabu tenure 119879

119894which prevents 119909

119894

from being flipped again until 119879119894diminishes (119879

119894le 0) Hence

the 119894th gain (119894 = 1 2 119899) is calculated using (11) when it ispermitted by the tabu tenure 119879

119894or some aspiration criterion

is satisfied

6 Mathematical Problems in Engineering

Require An initial solution 1199090EnsureThe best solution 119909best(1) Set the parameters119872119886119909119888119900119906119899119905 and 119879

119895 119895 = 1 119899 Initiate 119888119900119906119899119905 = 0 119905

119894= 0 119894 = 1 119899 and 119909best

= 1199090

(2) while 119888119900119906119899119905 lt 119872119886119909119888119900119906119899119905 do(3) Calculate the flip gain 119892119886119894119899(119894 1199090) 119894 = 1 119899 using (11)(4) 119895 = argmax119892119886119894119899(119894 1199090)|119905

119894= 0 or 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

best) 119894 = 1 119899

(5) Let 1199090119895= 1 minus 119909

0

119895 Rename the solution corresponding to this change as 1199090 again Calculate 119879

119895by (12) let 119905

119895= 119879119895

(6) if 119871(1199090) lt 119871(119909best

) then(7) Let 119909best

= 1199090

(8) end if(9) 119888119900119906119899119905 = 119888119900119906119899119905 + 1(10) for 119894 = 1 119899 do(11) if 119905

119894gt 0 then

(12) Let 119905119894= 119905119894minus 1

(13) end if(14) end for(15) if 119888119900119906119899119905 gt 119872119886119909119888119900119906119899119905 then(16) Break(17) end if(18) end while(19) return 119909

best

Algorithm 4 The tabu search procedure

At the beginning of the tabu search procedure 119879119894(119894 =

1 2 119899) are initialized by the user and if 119909119894is flipped the

corresponding 119879119894is updated as suggested by Cai et al [42]

as follows

119879119894=

119879119894+ 119879119894timessum119901

119896=1119909119896

119894

119901if 119909119894= 1

119879119894+ 119879119894times119901 minus sum

119901

119896=1119909119896

119894

119901otherwise

(12)

The updating rule (12) is called the feedback mechanism inCai et al [42] as this updating prevents 119879

119894from being too

large or too smallWe have proposed a simple aspiration criterion that

permits a variable to be flipped in spite of being tabu if itleads to a solution better than the best solution 119909best producedby the tabu search procedure thus far There are a numberof parameters which are needed to be initialized These arethe maximum numbers of iterations 119872119886119909119888119900119906119899119905 and the 119879

119894

values (119894 = 1 2 119899) The tabu search procedure we havesuggested here is now summarized in Algorithm 4 Noticethat the index 119895 in step 4 denotes that the node 119895 is not inthe tabu list (119905

119895= 0) or when the aspiration criterion is met

(which is a positive gain) The tabu search procedure processstops when119872119886119909119888119900119906119899119905 of iterations is reached and returns thebest solution found in the process

44 Path Relinking (PR) Procedure The path relinking tech-nique was originally proposed by Glover et al [47] toexplore possible trajectories connecting high quality solu-tions obtained by heuristics It has been applied successfullyto solve a number of optimization problems such as datamining [48] unconstrained binary quadratic programming

[49] capacitated clustering [50] andmultiobjective knapsackproblem [51]

ThePRprocedure presented here explores solution trajec-tories using two good solutions Within the iteration processof TSMA there are always two such solutions the currentbest solution 119909

lowast and the 1199090 produced by the tabu search

procedure When 119909lowast

= 1199090 PR is executed in an attempt to

improve the current best solution 119909lowast At the beginning PR

identifies the number of variables whose values differ in 1199090

and 119909lowast The indices of these variables are then kept in a set119863 PR then starts its iteration process For each index in 119863

an iteration is executed PR stops if an improved 119909lowast has beenfound during an iteration

An iteration starts with identifying the index 119895 corre-sponding to the highest gain that is 119895 = argmax119892119886119894119899(119894 1199090) |for all 119894 Let the solution corresponding to the flipping of1199090

119895be 1199090 The following tasks are then performed to see (a)

whether PR has obtained a new best solution or (b) whetherPR is approaching towards the current 119909lowast

(a) If 119871(1199090) lt 119871(119909lowast) then PR stops as it has found a new

best solution(b) Otherwise 1199090 is modified by 119909

0

119895= 1 minus 119909

0

119895where

119895 = argmax119892119886119894119899(119894 1199090) | 119894 isin 119863 The index 119895 is thenremoved from119863

PR then proceeds with next iteration for the next index in119863The pseudocode of the PR is illustrated in Algorithm 5

45 Population Updating Strategy A combination of inten-sification and diversification is essential for designing highquality hybrid heuristic algorithms [52 53] We have pre-sented how the TSMA implements its search intensification

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

4 Mathematical Problems in Engineering

Definition 1 A solution 119910 isin 119878 is called a discrete localminimizer of problem (IP) if 119891(119910) le 119891(119909) for all 119909 isin

119873(119910) cap 119878 where119873(119910) is a neighborhood of 119910 Furthermoreif 119891(119910) le 119891(119909) for all 119909 isin 119878 then 119910 is called a discrete globalminimizer of problem (IP)

Theorem 2 Let 119880 be an upper bound on the discrete globalminimum value of problem (IP) then problems (IP) and(UIP2) have the same discrete global minimizers and globalminimal values

Proof Let 119909lowast be a discrete global minimizer of problem (IP)then 120593(119909

lowast) = 0 and 119891(119909) le 119891(119909

lowast) for all 119909 isin 119878 Consider

two sets 119878 and 119878 119878For all 119909 isin 119878 by (3) we have 120593(119909) = 0 then

119871 (119909) = 119891 (119909) ge 119891 (119909lowast) = 119871 (119909

lowast) (4)

For all 119909 isin 119878 119878 we have two cases (i) 120593(119909) gt 0 and119891(119909) le 119880 and (ii) 120593(119909) gt 0 and 119891(119909) gt 119880

Case (i) By (2) we have

119871 (119909) = 120593 (119909) + 119880 ge 120593 (119909) + 119891 (119909lowast) gt 119891 (119909

lowast) = 119871 (119909

lowast) (5)

Case (ii) By (2) we have 119871(119909) = 120593(119909) + 119891(119909) Since 119891(119909) gt119880 gt 119891(119909

lowast) = 119871(119909

lowast) it holds

119871 (119909) = 120593 (119909) + 119891 (119909) gt 119880 gt 119871 (119909lowast) (6)

From (4) (5) and (6) it is obvious that 119909lowast is a discreteglobal minimizer of problem (UIP2)

Conversely let 119909lowast be a discrete global minimizer ofproblem (UIP2) then

119871 (119909) ge 119871 (119909lowast) forall119909 isin 119878 (7)

Suppose that 119909lowast notin 119878 that is 120593(119909lowast) gt 0 If 119891(119909lowast) le 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119880 gt 119880 ge 119891 (119910) (8)

where 119910 is a discrete global minimizer of problem (IP) thatis 120593(119910) = 0 If 119891(119909lowast) gt 119880 then

119871 (119909lowast) = 120593 (119909

lowast) + 119891 (119909

lowast) gt 119880 ge 119891 (119910) (9)

Hence

119871 (119909lowast) gt 119891 (119910) (10)

Since 119871(119910) = 119891(119910) inequality (10) implies that 119871(119909lowast) gt119871(119910) which means that 119909lowast is not a discrete global minimizerof problem (UIP2) So 119909lowast isin 119878 and problems (IP) and (UIP2)have the same discrete global minimizers and global minimalvalues

Theorem 3 Suppose that 119910 is a solution of problem (UIP2)and 119871(119910) lt 119880 Then 119910 is a feasible solution of problem (IP)

Proof If 119910 is an infeasible solution of problem (IP) then120593(119910) gt 0 By (2) if 119891(119910) le 119880 we have 119871(119910) = 120593(119909) + 119880 gt 119880If 119891(119910) gt 119880 then 119871(119910) = 120593(119910) + 119891(119910) gt 119880 So it holds that119871(119910) gt 119880 which contradicts the condition 119871(119910) lt 119880 Hencethe theorem holds

4 The Proposed Memetic Algorithm forHWSW Partitioning

Memetic algorithms (MAs) are a kind of global search tech-nique derived fromDarwinian principles of natural evolutionand Dawkinsrsquo notion of memes [32] They are genetic algo-rithms that use local search procedures to intensify the search[33]MAs have been applied to solve a variety of optimizationproblems [34ndash40]

In this section a tabu search-based memetic algorithmTSMA is presented to solve the parameter-free uncon-strained problem (UIP2) First a general framework ofTSMA is presented followed by detailed descriptions ofvarious components of the algorithm

41 General Framework of the Hybrid Memetic AlgorithmThe steps of the general framework of TSMA for solving(UIP2) is shown in Algorithm 2 Throughout its executionthe TSMA updates the upper bound 119880 with the functionvalue at the current best solution 119909lowast

Before the TSMA begins its iterative process performsthree main steps see Algorithm 2 In step 1 it initializes thefirst upper bound119880 of (UIP2)with the known trivial solutionwhere 119909

119894= 1 119894 = 1 2 119899 In step 2 it generates the initial

random population set of size 119901 that is 119875 = 1199091 119909

119901

119909119896isin 119878 119896 = 1 2 119901 In step 4 the TSMA refines each

member of the initial population 119875 by the local search thetabu search and treats 119875 as the starting population set

As the iteration process begins the TSMA repeatedlyperforms threemain steps crossover followed by tabu searchpath relinking and the updating of 119875 In step 10 a new solu-tion 1199090 is identified using the crossover operation followed bytabu search In step 17 the path relinking procedure may beapplied to1199090 in an attempt to generate an improved solution119910from 119909

0 Finally in step 22 the population updating processis performed to decide whether 119910 isin 119875 and which solutionshould be replaced provided that such an improved 119910 hasbeen generated The remaining steps of Algorithm 2 are usedto update 119880 and 119909lowast This iterative process repeats itself untilsome stopping conditions are met

The main iterative components of TSMA the crossoverfollowed by the tabu search procedure the path relinking pro-cedure and the population updating strategy are explained inthe subsequent subsections

42 Crossover Operator We adopt the fixed crossover opera-tor [41] to generate a new offspring First a pair of individualsare selected randomly from the population Next if twoselected individuals have the same bit value their offspringinherits it Otherwise it takes value 0 or 1 randomly Supposethat 119909 and 119910 are two selected individuals from the popula-tion The pseudocode of the crossover operator is given inAlgorithm 3

43 The Tabu Search Procedure Tabu search (TS) is a meta-heuristic optimization that has been applied successfully tosolve a number of combinatorial optimization problems [42ndash45] It combines search strategies that are designed to avoid

Mathematical Problems in Engineering 5

Require A directed acyclic graphEnsure Approximate global maximal solution 119909lowast(1) Initial 119880 = sum

119899

119894=1119886ℎ119894 119909lowast = (1 1)

(2) Generate randomly a population 119875 = 1199091 119909

119901

(3) for 119896 = 1 119901 do(4) Use the local search procedure (see Section 43) to minimize problem (1198801198681198752) from

every individual 119909119896 also denote the obtained solution by 119909119896(5) if 119871(119909119896) lt 119880 then(6) Let 119880 = 119871(119909

119896) and 119909lowast = 119909

119896(7) end if(8) end for(9) while termination criteria (see Section 46) do not meet do(10) Use the crossover operator (see Section 42) to generate a new offspring 1199090 and

apply the local search procedure to refine 1199090 also denote it by 1199090(11) if 119871(1199090) lt 119880 then(12) Let 119880 = 119871(119909

0) and 119909lowast = 119909

0(13) end if(14) if 1199090 = 119909

lowast then(15) 119910 = 119909

0(16) else(17) Use the path relinking procedure PR (see Section 44) to the solution

1199090 and the current best solution 119909lowast to obtain a solution 119910

(18) end if(19) if 119871(119910) lt 119880 then(20) Let 119880 = 119871(119910) and 119909lowast = 119910(21) end if(22) Use the population updating method (see Section 45) to update the population that is

to decide if 119910 isin 119875(23) end while(24) return 119909

lowast and 119891(119909lowast) as an approximate discrete global minimizer and global minimalvalue of problem (119868119875) respectively

Algorithm 2 General structure of TSMA

Require Two selected individuals 119909 and 119910Ensure A new offspring 119911(1) for 119894 = 1 119899 do(2) if 119909

119894= 119910119894then

(3) Let 119911119894= 119909119894

(4) else(5) 119911

119894takes value 0 or 1 randomly

(6) end if(7) end for(8) return 119911 as a new offspring

Algorithm 3 Crossover operator

being trapped in a local minimizer and to present revisitingrecently generated solutions [46] The neighborhood struc-ture and the tabu tenure with which TS is implementedare fundamental to achieving the above objectives A newsolution 1199090 is generated from the existing solution 119909 within adefined neighborhood of 119909 by the operation called a ldquomoverdquoThe solution 1199090 is not generated again for a number of itera-tions (tabu tenure)

The tabu search procedure presented here differs mainlyin solution generation While we preserve the tabu tenurefeature of TS we do away with the neighborhood structure ingenerating 1199090 from 119909 The solution generation procedure hasbeen suggested here to conform to the problem at hand andto make the search greedier In particular a sequence of flips(each flip returns a solution) on the (allowed) componentsof 119909 are carried out The best solution from the sequence isconsidered as 1199090 More specific to the problem considereda flip gain 119892119886119894119899(119894 119909) of a node 119894 (node 119894 corresponds to thevariable 119909

119894) is defined as follows

119892119886119894119899 (119894 119909) = 119871 (119909) minus 119871 (1199091 119909119894minus1 1 minus 119909119894 119909119894+1 119909119899)

(11)

A positive gain is a gain when the objective value of problem(UIP2) decreases if the component (variable) 119909

119894is flipped

from the current value to its complement that is if 119909119894= 1

then its value is changed to119909119894= 0Therefore for each variable

119909119894we keep an associated tabu tenure 119879

119894which prevents 119909

119894

from being flipped again until 119879119894diminishes (119879

119894le 0) Hence

the 119894th gain (119894 = 1 2 119899) is calculated using (11) when it ispermitted by the tabu tenure 119879

119894or some aspiration criterion

is satisfied

6 Mathematical Problems in Engineering

Require An initial solution 1199090EnsureThe best solution 119909best(1) Set the parameters119872119886119909119888119900119906119899119905 and 119879

119895 119895 = 1 119899 Initiate 119888119900119906119899119905 = 0 119905

119894= 0 119894 = 1 119899 and 119909best

= 1199090

(2) while 119888119900119906119899119905 lt 119872119886119909119888119900119906119899119905 do(3) Calculate the flip gain 119892119886119894119899(119894 1199090) 119894 = 1 119899 using (11)(4) 119895 = argmax119892119886119894119899(119894 1199090)|119905

119894= 0 or 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

best) 119894 = 1 119899

(5) Let 1199090119895= 1 minus 119909

0

119895 Rename the solution corresponding to this change as 1199090 again Calculate 119879

119895by (12) let 119905

119895= 119879119895

(6) if 119871(1199090) lt 119871(119909best

) then(7) Let 119909best

= 1199090

(8) end if(9) 119888119900119906119899119905 = 119888119900119906119899119905 + 1(10) for 119894 = 1 119899 do(11) if 119905

119894gt 0 then

(12) Let 119905119894= 119905119894minus 1

(13) end if(14) end for(15) if 119888119900119906119899119905 gt 119872119886119909119888119900119906119899119905 then(16) Break(17) end if(18) end while(19) return 119909

best

Algorithm 4 The tabu search procedure

At the beginning of the tabu search procedure 119879119894(119894 =

1 2 119899) are initialized by the user and if 119909119894is flipped the

corresponding 119879119894is updated as suggested by Cai et al [42]

as follows

119879119894=

119879119894+ 119879119894timessum119901

119896=1119909119896

119894

119901if 119909119894= 1

119879119894+ 119879119894times119901 minus sum

119901

119896=1119909119896

119894

119901otherwise

(12)

The updating rule (12) is called the feedback mechanism inCai et al [42] as this updating prevents 119879

119894from being too

large or too smallWe have proposed a simple aspiration criterion that

permits a variable to be flipped in spite of being tabu if itleads to a solution better than the best solution 119909best producedby the tabu search procedure thus far There are a numberof parameters which are needed to be initialized These arethe maximum numbers of iterations 119872119886119909119888119900119906119899119905 and the 119879

119894

values (119894 = 1 2 119899) The tabu search procedure we havesuggested here is now summarized in Algorithm 4 Noticethat the index 119895 in step 4 denotes that the node 119895 is not inthe tabu list (119905

119895= 0) or when the aspiration criterion is met

(which is a positive gain) The tabu search procedure processstops when119872119886119909119888119900119906119899119905 of iterations is reached and returns thebest solution found in the process

44 Path Relinking (PR) Procedure The path relinking tech-nique was originally proposed by Glover et al [47] toexplore possible trajectories connecting high quality solu-tions obtained by heuristics It has been applied successfullyto solve a number of optimization problems such as datamining [48] unconstrained binary quadratic programming

[49] capacitated clustering [50] andmultiobjective knapsackproblem [51]

ThePRprocedure presented here explores solution trajec-tories using two good solutions Within the iteration processof TSMA there are always two such solutions the currentbest solution 119909

lowast and the 1199090 produced by the tabu search

procedure When 119909lowast

= 1199090 PR is executed in an attempt to

improve the current best solution 119909lowast At the beginning PR

identifies the number of variables whose values differ in 1199090

and 119909lowast The indices of these variables are then kept in a set119863 PR then starts its iteration process For each index in 119863

an iteration is executed PR stops if an improved 119909lowast has beenfound during an iteration

An iteration starts with identifying the index 119895 corre-sponding to the highest gain that is 119895 = argmax119892119886119894119899(119894 1199090) |for all 119894 Let the solution corresponding to the flipping of1199090

119895be 1199090 The following tasks are then performed to see (a)

whether PR has obtained a new best solution or (b) whetherPR is approaching towards the current 119909lowast

(a) If 119871(1199090) lt 119871(119909lowast) then PR stops as it has found a new

best solution(b) Otherwise 1199090 is modified by 119909

0

119895= 1 minus 119909

0

119895where

119895 = argmax119892119886119894119899(119894 1199090) | 119894 isin 119863 The index 119895 is thenremoved from119863

PR then proceeds with next iteration for the next index in119863The pseudocode of the PR is illustrated in Algorithm 5

45 Population Updating Strategy A combination of inten-sification and diversification is essential for designing highquality hybrid heuristic algorithms [52 53] We have pre-sented how the TSMA implements its search intensification

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 5

Require A directed acyclic graphEnsure Approximate global maximal solution 119909lowast(1) Initial 119880 = sum

119899

119894=1119886ℎ119894 119909lowast = (1 1)

(2) Generate randomly a population 119875 = 1199091 119909

119901

(3) for 119896 = 1 119901 do(4) Use the local search procedure (see Section 43) to minimize problem (1198801198681198752) from

every individual 119909119896 also denote the obtained solution by 119909119896(5) if 119871(119909119896) lt 119880 then(6) Let 119880 = 119871(119909

119896) and 119909lowast = 119909

119896(7) end if(8) end for(9) while termination criteria (see Section 46) do not meet do(10) Use the crossover operator (see Section 42) to generate a new offspring 1199090 and

apply the local search procedure to refine 1199090 also denote it by 1199090(11) if 119871(1199090) lt 119880 then(12) Let 119880 = 119871(119909

0) and 119909lowast = 119909

0(13) end if(14) if 1199090 = 119909

lowast then(15) 119910 = 119909

0(16) else(17) Use the path relinking procedure PR (see Section 44) to the solution

1199090 and the current best solution 119909lowast to obtain a solution 119910

(18) end if(19) if 119871(119910) lt 119880 then(20) Let 119880 = 119871(119910) and 119909lowast = 119910(21) end if(22) Use the population updating method (see Section 45) to update the population that is

to decide if 119910 isin 119875(23) end while(24) return 119909

lowast and 119891(119909lowast) as an approximate discrete global minimizer and global minimalvalue of problem (119868119875) respectively

Algorithm 2 General structure of TSMA

Require Two selected individuals 119909 and 119910Ensure A new offspring 119911(1) for 119894 = 1 119899 do(2) if 119909

119894= 119910119894then

(3) Let 119911119894= 119909119894

(4) else(5) 119911

119894takes value 0 or 1 randomly

(6) end if(7) end for(8) return 119911 as a new offspring

Algorithm 3 Crossover operator

being trapped in a local minimizer and to present revisitingrecently generated solutions [46] The neighborhood struc-ture and the tabu tenure with which TS is implementedare fundamental to achieving the above objectives A newsolution 1199090 is generated from the existing solution 119909 within adefined neighborhood of 119909 by the operation called a ldquomoverdquoThe solution 1199090 is not generated again for a number of itera-tions (tabu tenure)

The tabu search procedure presented here differs mainlyin solution generation While we preserve the tabu tenurefeature of TS we do away with the neighborhood structure ingenerating 1199090 from 119909 The solution generation procedure hasbeen suggested here to conform to the problem at hand andto make the search greedier In particular a sequence of flips(each flip returns a solution) on the (allowed) componentsof 119909 are carried out The best solution from the sequence isconsidered as 1199090 More specific to the problem considereda flip gain 119892119886119894119899(119894 119909) of a node 119894 (node 119894 corresponds to thevariable 119909

119894) is defined as follows

119892119886119894119899 (119894 119909) = 119871 (119909) minus 119871 (1199091 119909119894minus1 1 minus 119909119894 119909119894+1 119909119899)

(11)

A positive gain is a gain when the objective value of problem(UIP2) decreases if the component (variable) 119909

119894is flipped

from the current value to its complement that is if 119909119894= 1

then its value is changed to119909119894= 0Therefore for each variable

119909119894we keep an associated tabu tenure 119879

119894which prevents 119909

119894

from being flipped again until 119879119894diminishes (119879

119894le 0) Hence

the 119894th gain (119894 = 1 2 119899) is calculated using (11) when it ispermitted by the tabu tenure 119879

119894or some aspiration criterion

is satisfied

6 Mathematical Problems in Engineering

Require An initial solution 1199090EnsureThe best solution 119909best(1) Set the parameters119872119886119909119888119900119906119899119905 and 119879

119895 119895 = 1 119899 Initiate 119888119900119906119899119905 = 0 119905

119894= 0 119894 = 1 119899 and 119909best

= 1199090

(2) while 119888119900119906119899119905 lt 119872119886119909119888119900119906119899119905 do(3) Calculate the flip gain 119892119886119894119899(119894 1199090) 119894 = 1 119899 using (11)(4) 119895 = argmax119892119886119894119899(119894 1199090)|119905

119894= 0 or 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

best) 119894 = 1 119899

(5) Let 1199090119895= 1 minus 119909

0

119895 Rename the solution corresponding to this change as 1199090 again Calculate 119879

119895by (12) let 119905

119895= 119879119895

(6) if 119871(1199090) lt 119871(119909best

) then(7) Let 119909best

= 1199090

(8) end if(9) 119888119900119906119899119905 = 119888119900119906119899119905 + 1(10) for 119894 = 1 119899 do(11) if 119905

119894gt 0 then

(12) Let 119905119894= 119905119894minus 1

(13) end if(14) end for(15) if 119888119900119906119899119905 gt 119872119886119909119888119900119906119899119905 then(16) Break(17) end if(18) end while(19) return 119909

best

Algorithm 4 The tabu search procedure

At the beginning of the tabu search procedure 119879119894(119894 =

1 2 119899) are initialized by the user and if 119909119894is flipped the

corresponding 119879119894is updated as suggested by Cai et al [42]

as follows

119879119894=

119879119894+ 119879119894timessum119901

119896=1119909119896

119894

119901if 119909119894= 1

119879119894+ 119879119894times119901 minus sum

119901

119896=1119909119896

119894

119901otherwise

(12)

The updating rule (12) is called the feedback mechanism inCai et al [42] as this updating prevents 119879

119894from being too

large or too smallWe have proposed a simple aspiration criterion that

permits a variable to be flipped in spite of being tabu if itleads to a solution better than the best solution 119909best producedby the tabu search procedure thus far There are a numberof parameters which are needed to be initialized These arethe maximum numbers of iterations 119872119886119909119888119900119906119899119905 and the 119879

119894

values (119894 = 1 2 119899) The tabu search procedure we havesuggested here is now summarized in Algorithm 4 Noticethat the index 119895 in step 4 denotes that the node 119895 is not inthe tabu list (119905

119895= 0) or when the aspiration criterion is met

(which is a positive gain) The tabu search procedure processstops when119872119886119909119888119900119906119899119905 of iterations is reached and returns thebest solution found in the process

44 Path Relinking (PR) Procedure The path relinking tech-nique was originally proposed by Glover et al [47] toexplore possible trajectories connecting high quality solu-tions obtained by heuristics It has been applied successfullyto solve a number of optimization problems such as datamining [48] unconstrained binary quadratic programming

[49] capacitated clustering [50] andmultiobjective knapsackproblem [51]

ThePRprocedure presented here explores solution trajec-tories using two good solutions Within the iteration processof TSMA there are always two such solutions the currentbest solution 119909

lowast and the 1199090 produced by the tabu search

procedure When 119909lowast

= 1199090 PR is executed in an attempt to

improve the current best solution 119909lowast At the beginning PR

identifies the number of variables whose values differ in 1199090

and 119909lowast The indices of these variables are then kept in a set119863 PR then starts its iteration process For each index in 119863

an iteration is executed PR stops if an improved 119909lowast has beenfound during an iteration

An iteration starts with identifying the index 119895 corre-sponding to the highest gain that is 119895 = argmax119892119886119894119899(119894 1199090) |for all 119894 Let the solution corresponding to the flipping of1199090

119895be 1199090 The following tasks are then performed to see (a)

whether PR has obtained a new best solution or (b) whetherPR is approaching towards the current 119909lowast

(a) If 119871(1199090) lt 119871(119909lowast) then PR stops as it has found a new

best solution(b) Otherwise 1199090 is modified by 119909

0

119895= 1 minus 119909

0

119895where

119895 = argmax119892119886119894119899(119894 1199090) | 119894 isin 119863 The index 119895 is thenremoved from119863

PR then proceeds with next iteration for the next index in119863The pseudocode of the PR is illustrated in Algorithm 5

45 Population Updating Strategy A combination of inten-sification and diversification is essential for designing highquality hybrid heuristic algorithms [52 53] We have pre-sented how the TSMA implements its search intensification

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

6 Mathematical Problems in Engineering

Require An initial solution 1199090EnsureThe best solution 119909best(1) Set the parameters119872119886119909119888119900119906119899119905 and 119879

119895 119895 = 1 119899 Initiate 119888119900119906119899119905 = 0 119905

119894= 0 119894 = 1 119899 and 119909best

= 1199090

(2) while 119888119900119906119899119905 lt 119872119886119909119888119900119906119899119905 do(3) Calculate the flip gain 119892119886119894119899(119894 1199090) 119894 = 1 119899 using (11)(4) 119895 = argmax119892119886119894119899(119894 1199090)|119905

119894= 0 or 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

best) 119894 = 1 119899

(5) Let 1199090119895= 1 minus 119909

0

119895 Rename the solution corresponding to this change as 1199090 again Calculate 119879

119895by (12) let 119905

119895= 119879119895

(6) if 119871(1199090) lt 119871(119909best

) then(7) Let 119909best

= 1199090

(8) end if(9) 119888119900119906119899119905 = 119888119900119906119899119905 + 1(10) for 119894 = 1 119899 do(11) if 119905

119894gt 0 then

(12) Let 119905119894= 119905119894minus 1

(13) end if(14) end for(15) if 119888119900119906119899119905 gt 119872119886119909119888119900119906119899119905 then(16) Break(17) end if(18) end while(19) return 119909

best

Algorithm 4 The tabu search procedure

At the beginning of the tabu search procedure 119879119894(119894 =

1 2 119899) are initialized by the user and if 119909119894is flipped the

corresponding 119879119894is updated as suggested by Cai et al [42]

as follows

119879119894=

119879119894+ 119879119894timessum119901

119896=1119909119896

119894

119901if 119909119894= 1

119879119894+ 119879119894times119901 minus sum

119901

119896=1119909119896

119894

119901otherwise

(12)

The updating rule (12) is called the feedback mechanism inCai et al [42] as this updating prevents 119879

119894from being too

large or too smallWe have proposed a simple aspiration criterion that

permits a variable to be flipped in spite of being tabu if itleads to a solution better than the best solution 119909best producedby the tabu search procedure thus far There are a numberof parameters which are needed to be initialized These arethe maximum numbers of iterations 119872119886119909119888119900119906119899119905 and the 119879

119894

values (119894 = 1 2 119899) The tabu search procedure we havesuggested here is now summarized in Algorithm 4 Noticethat the index 119895 in step 4 denotes that the node 119895 is not inthe tabu list (119905

119895= 0) or when the aspiration criterion is met

(which is a positive gain) The tabu search procedure processstops when119872119886119909119888119900119906119899119905 of iterations is reached and returns thebest solution found in the process

44 Path Relinking (PR) Procedure The path relinking tech-nique was originally proposed by Glover et al [47] toexplore possible trajectories connecting high quality solu-tions obtained by heuristics It has been applied successfullyto solve a number of optimization problems such as datamining [48] unconstrained binary quadratic programming

[49] capacitated clustering [50] andmultiobjective knapsackproblem [51]

ThePRprocedure presented here explores solution trajec-tories using two good solutions Within the iteration processof TSMA there are always two such solutions the currentbest solution 119909

lowast and the 1199090 produced by the tabu search

procedure When 119909lowast

= 1199090 PR is executed in an attempt to

improve the current best solution 119909lowast At the beginning PR

identifies the number of variables whose values differ in 1199090

and 119909lowast The indices of these variables are then kept in a set119863 PR then starts its iteration process For each index in 119863

an iteration is executed PR stops if an improved 119909lowast has beenfound during an iteration

An iteration starts with identifying the index 119895 corre-sponding to the highest gain that is 119895 = argmax119892119886119894119899(119894 1199090) |for all 119894 Let the solution corresponding to the flipping of1199090

119895be 1199090 The following tasks are then performed to see (a)

whether PR has obtained a new best solution or (b) whetherPR is approaching towards the current 119909lowast

(a) If 119871(1199090) lt 119871(119909lowast) then PR stops as it has found a new

best solution(b) Otherwise 1199090 is modified by 119909

0

119895= 1 minus 119909

0

119895where

119895 = argmax119892119886119894119899(119894 1199090) | 119894 isin 119863 The index 119895 is thenremoved from119863

PR then proceeds with next iteration for the next index in119863The pseudocode of the PR is illustrated in Algorithm 5

45 Population Updating Strategy A combination of inten-sification and diversification is essential for designing highquality hybrid heuristic algorithms [52 53] We have pre-sented how the TSMA implements its search intensification

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 7

Require An initiating solution 1199090 the current best solution 119909lowastEnsure A solution 119910(1) Initiate 119910 = 119909

lowast119863 = 0(2) for 119894 = 1 119899 do(3) if 1199090

119894= 119909lowast

119894then

(4) 119863 = 119863 cup 119894(5) end if(6) end for(7) while 119863 = 0 do(8) Calculate the flip gains 119892119886119894119899(119894 1199090) 119894 = 1 119899(9) 119895 = argmax119892119886119894119899(119894 1199090)|119894 = 1 119899(10) if 119871(1199090) minus 119892119886119894119899(119894 1199090) lt 119871(119909

lowast) then

(11) Let 1199090119895= 1 minus 119909

0

119895 and 119909lowast = 119909

0 119910 = 119909lowast

(12) Break(13) else(14) 119895 = argmax119892119886119894119899(119894 1199090)|119894 isin 119863(15) Let 1199090

119895= 1 minus 119909

0

119895119863 = 119863 119895

(16) end if(17) end while(18) return 119910

Algorithm 5 Path relinking (PR) procedure

strategies via the tabu search procedure and PR we nowpresent its search diversification strategies This is achievedby updating the population set119875with the solution 119910 obtainedby the tabu search procedure or PR In this subsection 119910 willbe referred to as the trial solution

Like any other algorithm [35 38] the TSMA uses itspopulation updating to cater for both quality and diversityof the member of 119875 A measure is needed to decide whetherthe trial solution 119910 should be inserted into 119875 and if so whichsolution should it replace To this end the following functionis suggested when 119909 notin 119875

119892 (119909 119875) =

119871 (119909) if 119871 (119909) lt 119871 (119909lowast)

119871 (119909) minus 119871 (119909lowast) +

119889 (119909 119875)

119899120582otherwise

(13)

where 119909lowast

isin 119875 is the current best solution and 120582 gt 0

is a parameter which balances the relative importance ofthe solution quality and the diversity of the population Thefunction 119889(119909 119875) 119909 notin 119875 is defined as

119889 (119909 119875) = min119909119896isin119875

119889 (119909 119909119896) (14)

where

119889 (119909 119909119896) =

119899

sum

119894=1

10038161003816100381610038161003816119909119896

119894minus 119909119894

10038161003816100381610038161003816 (15)

In the updating process we want to achieve two objec-tives solution quality and population diversity At early stagesof TSMA points in 119875 are scattered and diversely distributedTherefore a further diversification is not needed Hence thedecision whether 119910 isin 119875 and which solution deletes shouldbe based on the contribution of the function value 119871(119910) in

119892(119910 119875) and not purely be based on the location of 119910 in thesolution space with respect to the points in 119875 (ie density ofthe points 119910cup119875) Notice that this always holds in (13) when119871(119910) lt 119871(119909

lowast) For 119871(119910) ge 119871(119909

lowast) (119910 is likely to be far from

119909lowast) 119871(119910) minus 119871(119909

lowast) in (13) is likely to dominate 119889(119910 119875)119899120582 in

119892(119910 119875)At later stages of TSMA points in 119875 are likely to be

clustered together Hence diversification of the points in 119875 isneeded Clearly it is likely that 119871(119910)minus119871(119909lowast) (for 119910 beingmorelikely to be close to 119909

lowast) is small ensuring less contributionfrom it and more from 119889(119910 119875)119899120582 in 119892(119910 119875)

With the functional form (13) of 119892(119909 119875) we now devicea strategy to achieve both objectives Central to this strat-egy is the comparison of 119901 + 1 measure values namely119892(119909119896 ) 119892(119910 119875) = 119875 119909

119896 cup 119910 119896 = 1 2 119901 Here

119892(119909119896 ) (resp 119892(119910 119875)) represents a measure with respect to

the function value at 119909119896 (resp the function value at 119910) and itsdistance (sparsity)with respect to (sparsity of119910with respectto119875)Thepointwith theminimummeasure is then identifieddenote it by 119909119897 In particular we find

119909119897= argmin119871 (119909119896) minus 119871 (119909lowast) +

119889 (119909119896 119875)

119899120582 119909119896isin

cup 119871 (119910) minus 119871 (119909lowast) +

119889 (119910 119875)

119899120582 forall119909

119896isin 119875

(16)

(or 119909119897 = argmin119871(119909119896)minus119871(119909lowast)+119889(119909119896 119875)119899120582 119909119896 isin cup119871(119910)for all 119909119896 isin 119875 when 119871(119910) lt 119871(119909

lowast)) When 119909119897 = 119910 we update

119875 as 119875 = 119875 119909119897 cup 119910

On the other hand if119909119897 = 119910 then119875 is updatedwith119910witha small probability This is because inclusion of 119910 in 119875 withprobability one will reduce the diversity of 119875 In particular

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

8 Mathematical Problems in Engineering

Require Population 119875 = 1199091 119909

119901 the current best solution 119909lowast and a solution 119909

Ensure Updated population 119875 = 1199091 119909

119901

(1) Calculate 119892(119909 119875) according to (13)(2) for 119896 = 1 119901 do(3) calculate 119892(119909119896 (119875 119909

119896) cup 119909) according to (13)

(4) end for(5) Let 119909119897 = argmin119892(119909 119875) 119892(119909119896 (119875 119909

119896) cup 119909) 119896 = 1 119901

(6) if 119909119897 = 119909 then(7) 119909 is inserted into 119875 and 119909119897 is deleted from 119875(8) else(9) if rand(0 1) lt 119901

119903then

(10) Let 119909119904 = argmin119892(119909119896 (119875 119909119896) cup 119909)|119896 = 1 119901

(11) 119909 is inserted into 119875 and 119909119904 is deleted from 119875(12) end if(13) end if(14) return 119875

Algorithm 6 Population updating procedure

Table 1 The characteristics of four test instances

No DAG TimeSw TimeHw TimeReq CostHw1 30 nodes 9736 1782 4963 30392 60 nodes 19591 2279 9203 60853 90 nodes 28718 3060 13323 83994 120 nodes 37354 3056 16775 111875 300 nodes 92156 2940 39940 278196 500 nodes 155151 3094 66463 45171

update 119875 = 119875 119909119904cup 119910 is carried out with small probability

where 119909119904 = argmin119871(119909119896) minus 119871(119909lowast) + 119889(119909

119896 119875)119899120582 119909

119896isin

for all 119909119896 isin 119875 Here 119909119904 is replaced to increase the diversity in119875 The pseudocode for the population updating procedure ispresented with Algorithm 6

Finally we present the time required to update the set119875 It needs 119874(119899) to calculate the distance between 119910 and119909119896isin 119875 The distance 119889(119910 119875) can be calculated in time119874(119901119899)

and it needs 119874(1199012119899) to calculate 119892(119909119896 ) Moreover it takes119874(119901) time to find the solution with the smallest and thesecond smallest values in 119892(119910 119875) cup 119892(119909119896 119896 = 1 119901Therefore the total running time of the population updatingprocedure is bounded by 119874(1199012119899)

46 Termination Criteria In this paper we use two criteriato stop TSMA If the maximum number of generations 119866maxis reached then we stop the algorithm On the other handwhen the quality of the best solution from one generation tothe next is not improved after 119866no generations then we stopthe algorithm Therefore the TSMA stops when any of thesetwo criteria is met

5 Computational Experiments

In this section we present experiments performed in orderto evaluate the performance of TSMA The benchmark testinstances used are introduced followed by the parameter

settings for TSMA Finally computational results compar-isons and analyses are reported The algorithm is coded inC language and implemented on a PC with 211 GHz AMDprocessor and 1G of RAM

51 Test Instances Task graphs for free (TGFF) [54] cancreate directed acyclic graphs (DAGs) that is task graphsGiven identical parameters and input seeds it can gener-ate identical task graphs We have used TGFF (WindowVersion 31) to generate four DAGs as hardwaresoftwarepartitioning test instancesThese DAGs were also used to testthe performance of the artificial immune algorithm (ENSA-HSP) [16] The TGFF (Window Version 31) can be obtainedat the website (httpziyangeecsumichedusimdickrptgff)and the parameters are given in the Appendix Since theseDAGs do not contain cycles all nodes in each DAG areexecuted only once that is 119901119888

119894= 1

The characteristics of these test instances are given inTable 1 These are the times when all nodes are imple-mented by software (TimeSw) the time when all nodesare implemented by hardware (TimeHw) the required time(TimeReq) and the cost when all nodes are implemented byhardware (CostHw)

52 The Parameter Settings The tabu search procedurerequires parameters 119879

119895 119895 = 1 119899 and119872119886119909119888119900119906119899119905 We have

used 119879119895= 10 119895 = 1 119899 and 119872119886119909119888119900119906119899119905 = 15 times 119899 These

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 9

Table 2 Experimental results of our algorithm with tuning of values 119901 and 120582 on the test instance with 90 nodes

120582 11990110 20 30 40

Cost Time (s) Cost Time (s) Cost Time (s) Cost Time (s)0001 3570 15092 3568 19531 3561 23687 3560 237350003 3571 15651 3562 18265 3564 18625 3559 201270005 3567 16539 3561 20283 3560 15982 3561 210770008 3560 16585 3561 15617 3566 19234 3559 20524001 3562 16516 3568 15681 3569 16484 3558 204370012 3568 16597 3556 18421 3568 16102 3560 19511

values are different from those used by Cai et al [42] forunconstrained binary quadratic programming Justificationsfor these choices are that the tabu search procedure proposedhere is different from [42] and the scale of test problems usedin this paper is smaller than that of the test problems usedin [42] Moreover we have chosen these values based on ournumerical experiments

An important parameter of TSMA is the size 119901 of thepopulation set 119875 The bigger the value of 119901 is the higher theCPU time is This is because 119874(1199012119899) operations are neededto update 119875 The parameter 120582 in (13) is used by TSMA todiversify119875 and as such it has an important significance in theperformance of TSMA We have chosen the values of thesetwo parameters after some numerical experiments

We first conduct a number of preliminary experimentsusing the test instance number 3 that is the instance with 90nodes We have fixed 119879

119895= 10 119895 = 1 119899 119872119886119909119888119900119906119899119905 =

15 times 119899 119866max = 200 and 119866no = 20 and run TSMA withvarious values of 119901 and 120582 This experiment was conducted toget suitable ranges for both parameters

With the values of 119879119895 119872119886119909119888119900119906119899119905 119866max and 119866no chosen

as above we have then conducted another series of runs ofTSMA using the test instance with 90 nodes We have used119901 isin 10 20 30 40 For each value of 119901 six values of 120582that is 120582 isin 0001 0003 0005 0008 001 0012 are usedto constitute (119901 120582) pairs Hence there are 24 (119901 120582) pairs Foreach pair TSMA was run 5 times making a total of 120 runsThe average results of 5 runs on each (119901 120582) pair are reportedin Table 2

The results in Table 2 show that 119901 = 20 and 120582 = 0008

are suitable values to choose Hence we have used thesevalues throughout the numerical experiments We presentall parameter values used in TSMA in Table 3 where thecolumn 2 presents the subsections where the correspondingparameter has been discussed

53 Numerical Comparisons In order to show the effective-ness of TSMA we compare its results with those of theevolutionary negative selection algorithm (ENSA-HSP) [16]and traditional evolutionary algorithm (EA) [16] TSMA wasrun 20 times on each test instance in Table 1 hence averageresults are used in the comparison Results of ENSA-HSPand EA have been taken from [16] Comparisons of resultsare presented in Table 4 where columns under the captionsldquobestrdquo ldquomeanrdquo and ldquoworstrdquo report the best cost the averagecost and the worst cost respectively The column under the

Table 3 Settings of parameters

Parameters Section Value119901 41 20119879119895

43 10119872119886119909119888119900119906119899119905 43 15 times 119899

120582 44 0008119901119903

44 02119866max 46 500119866no 46 50

caption ldquotimerdquo reports the average CPU times for TSMAWe are unable to present the CPU times for the other twoalgorithms as this would require running these algorithmsourselves since the CPU times of EA and ENSA-HSP werenot reported in [16] The last column of Table 4 reports thepercentage of improvement on the best results by TSMATheresults obtained by all three algorithms on the first 4 testinstances are further summarized in Figures 2 3 4 and 5

Figures 3ndash5 clearly show the superiority of TSMAover theother two algorithmsWide differences in costs are noticeablein these figures Indeed it can be seen from Table 4 thatthe TSMA has achieved 84 65 and 176 less costs thanthe corresponding previous best obtained by ENSA-HSPfor the instances numbers 2 3 and 4 respectively Theseimprovements are quite significant

54 Effectiveness of the Adaptive Penalty Function In orderto show the effectiveness of our proposed parameter-freeadaptive penalty function we have replaced the adaptivepenalty function 119871(119909) in (2) with the exact penalty function120594(119909 119877 119902) (119902 = 1) in (1) and kept other ingredients ofTSMA including the parameter values in Table 3 intact Wedenote this implementation of TSMA by TSMA2 Since theparameter 119877 in 120594(119909 119877 119902) is problem-dependent we took119877 = 50 100 and 200 and run TSMA2 20 times on each ofthe test instances for each 119877 value Average results includingaverage CPU times (in seconds) are summarized in Table 5A number of observations and comparisons using the resultsin Table 4 are now presented below

(1) Dependency on119877 it can be clearly seen in Table 5 thatresults are very much dependent on 119877 values Whileresults are comparable on instance number 1 for all 119877values results for the other instance are not the same

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

10 Mathematical Problems in Engineering

Table 4 Obtained results for EA ENSA-HSP and TSMA

DAG EA [16] ENSA-HSP [16] TSMA ImproveBest Mean Worst Best Mean Worst Best Mean Worst Time

30 nodes 1350 1409 1473 1335 1339 1350 1335 13350 1335 1078 060 nodes 2923 2980 3072 2884 2912 2931 2800 28061 2814 12625 29190 nodes 3804 3915 4100 3617 3726 3761 3552 35571 3564 41545 180120 nodes 5363 5506 5619 5177 5308 5346 5001 50052 5021 145259 340300 nodes 12556 125816 12639 1456672500 nodes 20497 205788 20667 3204913

Table 5 Obtained results for TSMA2

DAG 119877 = 50 119877 = 100 119877 = 200

Best Mean Worst Time Best Mean Worst Time Best Mean Worst Time30 nodes 1335 13350 1335 0986 1335 13350 1335 1015 1335 13350 1335 090660 nodes 2800 28117 2820 15424 2805 28115 2818 14804 2809 28110 2818 1204790 nodes 3552 35572 3570 41592 3556 35594 3565 36209 3556 35596 3565 37491120 nodes 5005 50281 5069 180434 5018 50351 5068 161848 5018 50292 5055 179020

1480

1460

1440

1420

1400

1380

1360

1340

1320

20

0

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

Cos

t of t

he sy

stem

Figure 2 Experimental results on test instance with 30 nodes

To give an example in terms of the ldquomeanrdquo value thebest result was obtained for 119877 = 200 on instancenumber 2 while for the instance numbers 3 and 4the best ldquomeanrdquo values were obtained using 119877 = 50

(2) Comparison using ldquomeanrdquo The TSMA performs bet-ter than TSMA2 for all instances except for instancenumber 1 for which both perform the same

(3) Comparison using ldquobestrdquoThe TSMA performs betterthan TSMA2 on the last instance while both areequally matched on the remaining instances TSMA2obtained these results for instances 1 2 and 3 for119877 = 50

(4) Comparison using ldquotimerdquo The best CPU times aredifferent for different 119877 values in TSMA2 Howevereven if we take the best CPU times obtained byTSMA2 disregarding the 119877 values then the results arestill comparable between TSMA2 and TSMA

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

3080

3060

3040

3020

3000

2980

2960

2940

2920

2900

2880

2860

2840

2820

2800

2780

0

Cos

t of t

he sy

stem

Figure 3 Experimental results on test instance with 60 nodes

A statistical view in terms of boxplot is now shownin Figures 6 7 and 8 using optimal values obtained byTSMA and TSMA2 over 20 runs Three figures are presentedsince the standard deviation is zero for instance number 1These boxplots show that ranges over which the best resultsobtained over 20 runs vary All three figures clearly showthat the boxplots of TSMA has less height than those ofthe corresponding boxplots obtained by TSMA2 for three 119877values This clearly establishes the superiority of the adaptivepenalty function 119871(119909) presented in (2) over the exact penaltyfunction (1)

6 Conclusion

In this paper we have presented a memetic algorithm forthe hardwaresoftware partitioning problem The algorithmhas three main components a local tabu search a path

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 11

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

4100

4050

4000

3950

3900

3850

3800

3750

3700

3650

3600

3550

3500

500

Cos

t of t

he sy

stem

Figure 4 Experimental results on test instance with 90 nodes

EAENSA-HSP

TSMA

Best Mean WorstClass of solution

5650

5600

5550

5500

5450

5400

5350

5300

5250

5200

5150

5100

5050

5000

4950

500

Cos

t of t

he sy

stem

Figure 5 Experimental results on test instance with 120 nodes

2825

2820

2815

2810

2805

2800

2795

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 6 Boxplots of the test instance with 60 nodes

TSMA R = 50 R = 100 R = 200

3575

3570

3565

3560

3555

3550

Cos

t of t

he sy

stem

Figure 7 Boxplots of the test instance with 90 nodes

5080

5070

5060

5050

5040

5030

5020

5010

5000

4990

Cos

t of t

he sy

stem

TSMA R = 50 R = 100 R = 200

Figure 8 Boxplots of the test instance with 120 nodes

relinking procedure and population updatingThe local tabusearch is a ldquocontrolled local searchrdquo procedure used for searchintensification The path relinking procedure uses furtherexploitation of solutions and population updating is usedfor diversification of solutions Motivations for each of thesecomponents within the proposed memetic algorithm areprovided

The hardwaresoftware partitioning problem is convertedinto an equivalent unconstrained binary optimization prob-lemby employing a parameter-free adaptive penalty functionWe have motivated this penalty function first by theoreticallyand then by numerically comparing its performance withthe exact penalty function The memetic algorithm is thenapplied to this unconstrained problem and robustness withrespect to the quality of optimal solution is shown bycomparing it with another two algorithms from the literature

Appendix

In this paper TGFF (WindowsVersion 31) used the followingparameter settings [16] to generate test instances where30tgffopt is for the DAG with 30 nodes 60tgffopt is for the

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

12 Mathematical Problems in Engineering

30tgffoptperiod mul 1task degree 3 3tg cnt 1task cnt 31 1task type cnt 30trans type cnt 30table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 60tgffoptperiod mul 1task degree 4 4tg cnt 1task cnt 61 1task type cnt 60trans type cnt 60table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 90tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 91 1task type cnt 90trans type cnt 90table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 120tgffoptperiod mul 1task degree 5 5tg cnt 1task cnt 121 1task type cnt 120trans type cnt 120table cnt 1table label TRANS TIME

Algorithm 7 Continued

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 13

type attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 300tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 301 1task type cnt 300trans type cnt 300table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg 500tgffoptperiod mul 1task degree 6 6tg cnt 1task cnt 501 1task type cnt 500trans type cnt 500table cnt 1table label TRANS TIMEtype attrib time 10 10 1 1trans write table cnt 1table label HARDWAREtype attrib cost 100 50 05 1 time 150 75 05 1pe write table cnt 1table label SOFTWARE type attrib cost 50 30 05 1 time 300 100 05 1pe write tg write tgffvcg write vcg

Algorithm 7

DAGwith 60 nodes 90tgffopt is for the DAGwith 90 nodes120tgffopt is for the DAG with 120 nodes 300tgffopt is forthe DAGwith 300 nodes and 500tgffopt is for the DAGwith500 nodes See Algorithm 7

Conflict of Interests

The authors declare that there is no conflict of interestsregarding the publication of this paper

Acknowledgments

This research was supported partially by the National Nat-ural Science Foundation of China under Grants 11226236

11301255 and 61170308 the Natural Science Foundation ofFujian Province of China under Grant 2012J05007 and theScience and Technology Project of the Education Bureau ofFujian China under Grants JA13246 and Jk2012037

References

[1] 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

[2] M OrsquoNils A Jantsch A Hemani and H Tenhunen ldquoInter-active hardware-software partitioning and memory allocation

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

14 Mathematical Problems in Engineering

based on data transfer profilingrdquo in Proceedings of the Interna-tional Conference on Recent Advances inMechantronics (ICRAMrsquo95) pp 447ndash452 Istanbul Turkey August 1995

[3] J Madsen J Grode P V Knudsen M E Petersen and AHaxthausen ldquoLycos the lyngby cosynthesis systemrdquo DesignAutomation for Embedded Systems vol 2 no 2 pp 195ndash2351997

[4] R Niemann and P Marwedel ldquoAn algorithm for hard-waresoftware partitioning usingmixed integer linear program-mingrdquo Automation for Embedded Systems vol 2 no 2 pp 165ndash193 1997

[5] K S Chatha and R Vemuri ldquoHardware-software partitioningand pipelined scheduling of transformative applicationsrdquo IEEETransactions on Very Large Scale Integration Systems vol 10 no3 pp 193ndash208 2002

[6] A Kalavade System-level codesign of mixed hardware-softwaresystems [PhD dissertation] EECS Department University ofCalifornia Berkeley Calif USA 1995

[7] 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 Systems vol 9 no 2 pp 273ndash289 2001

[8] P Eles Z Peng K Kuchcinski and A Doboli ldquoSystems levelhardwaresoftware partitioning based on simulated annealingand tabu searchrdquoDesign Automation for Embedded Systems vol2 no 1 pp 5ndash32 1997

[9] R Ernst J Henkel and T Benner ldquoHardware-software cosyn-thesis for microcontrollersrdquo IEEEDesign and Test of Computersvol 10 no 4 pp 425ndash449 2002

[10] 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

[11] M Purnaprajna M Reformat and W Pedrycz ldquoGenetic algo-rithms for hardware-software partitioning and optimal resourceallocationrdquo Journal of Systems Architecture vol 53 no 7 pp339ndash354 2007

[12] P K Nath and D Datta ldquoMulti-objective hardware-softwarepartitioning of embedded systems a case study of JPEGencoderrdquo Applied Soft Computing vol 15 pp 30ndash41 2014

[13] 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

[14] J C Wu Q Q Sun and T Srikanthan ldquoAlgorithmic aspects formultiple-choice hardwaresoftware partitioningrdquo Computersand Operations Research vol 39 no 12 pp 3281ndash3292 2012

[15] P Liu J Wu and Y Wang ldquoHybrid algorithms for hard-waresoftware partitioning and scheduling on reconfigurabledevicesrdquoMathematical and ComputerModelling vol 58 no 1-2pp 409ndash420 2013

[16] Y G Zhang W J Luo Z M Zhang B Li and X F WangldquoA hardwaresoftware partitioning algorithm based on artificialimmune principlesrdquo Applied Soft Computing Journal vol 8 no1 pp 383ndash391 2008

[17] M Lopez-Vallejo and J C Lopez ldquoOn the hardware-softwarepartitioning problem System modeling and partitioning tech-niquesrdquo ACM Transactions on Design Automation of ElectronicSystems vol 8 no 3 pp 269ndash297 2003

[18] P Arato Z A Mann and A Orban ldquoAlgorithmic aspects ofhardwaresoftware partitioningrdquo ACM Transactions on DesignAutomation of Electronic Systems vol 10 no 1 pp 136ndash1562005

[19] W Jigang T Srikanthan and G Chen ldquoAlgorithmic aspectsof hardwaresoftware partitioning 1D search algorithmsrdquo IEEETransactions on Computers vol 59 no 4 pp 532ndash544 2010

[20] A Kalavade and P A Subrahmanyam ldquoHardwaresoftwarepartitioning for multifunction systemsrdquo IEEE Transactions onComputer-Aided Design of Integrated Circuits and Systems vol17 no 9 pp 819ndash837 1998

[21] Y Peng M Lin and J Yang ldquoHardware-software partitioningresearch based on resource constraintrdquo Journal of Circuits andSystems vol 10 no 3 pp 80ndash84 2005 (Chinese)

[22] D Gajski N Dutt A We and S Lin High-Level SynthesisIntroduction to Chip and System Design Kluwer AcademicPublishers Dordrecht The Netherlands 1994

[23] M Sinclair ldquoAn exact penalty function approach for nonlinearinteger programming problemsrdquo European Journal of Opera-tional Research vol 27 no 1 pp 50ndash56 1986

[24] A Homaifar S H Y Lai and C X Qi ldquoConstrained optimiza-tion via genetic algorithmsrdquo Simulation vol 62 no 4 pp 242ndash254 1994

[25] R Sarker and C Newton ldquoA genetic algorithm for solvingeconomic lot size scheduling problemrdquo Computers amp IndustrialEngineering vol 42 no 2ndash4 pp 189ndash198 2002

[26] T P Runarsson and X Yao ldquoStochastic ranking for constrainedevolutionary optimizationrdquo IEEE Transactions on EvolutionaryComputation vol 4 no 3 pp 284ndash294 2000

[27] D W Coit A E Smith and D M Tate ldquoAdaptive penaltymethods for genetic optimization of constrained combinatorialproblemsrdquo INFORMS Journal on Computing vol 8 no 2 pp173ndash182 1996

[28] R Farmani and J A Wright ldquoSelf-adaptive fitness formulationfor constrained optimizationrdquo IEEE Transactions on Evolution-ary Computation vol 7 no 5 pp 445ndash455 2003

[29] B Tessema and G G Yen ldquoAn adaptive penalty formulationfor constrained evolutionary optimizationrdquo IEEE Transactionson Systems Man and Cybernetics A vol 39 no 3 pp 565ndash5782009

[30] MM Ali andW X Zhu ldquoA penalty function-based differentialevolution algorithm for constrained global optimizationrdquoCom-putational Optimization andApplications vol 54 no 3 pp 707ndash739 2013

[31] H J C Barbosa and A C C Lemonge ldquoA new adaptive penaltyscheme for genetic algorithmsrdquo Information Sciences vol 156no 3-4 pp 215ndash251 2003

[32] R Dawkins The Selfish Gene Oxford University Oxford UK1989

[33] P Moscato ldquoMemetic algorithms a short introductionrdquo inNewIdeas in Optimization D Corne M Dorigo and F Glover Edspp 219ndash234 McGraw-Hill New York NY USA 1999

[34] A R Buck J M Keller and M Skubic ldquoA memetic algorithmfor matching spatial configurations with the histograms offorcesrdquo IEEE Transactions on Evolutionary Computation vol 17no 4 pp 588ndash604 2013

[35] G Lin andW X Zhu ldquoAn efficient mememtic algorithm for themax-bisection problemrdquo IEEE Transactions on Computers vol63 no 6 pp 1365ndash1376 2014

[36] MUrselmann S BarkmannG Sand and S Engell ldquoAmemeticalgorithm for global optimization in chemical process synthesis

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

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

Mathematical Problems in Engineering 15

problemsrdquo IEEE Transactions on Evolutionary Computationvol 15 no 5 pp 659ndash683 2011

[37] G Iacca F Caraffini and F Neri ldquoMemory-saving memeticcomputing for path-following mobile robotsrdquo Applied SoftComputing vol 13 no 4 pp 2003ndash2016 2013

[38] Z Lu and J-K Hao ldquoA memetic algorithm for graph coloringrdquoEuropean Journal of Operational Research vol 203 no 1 pp241ndash250 2010

[39] Z Z ZhangO Che B Cheang A Lim andHQin ldquoAmemeticalgorithm for the multiperiod vehicle routing problem withprofitrdquo European Journal of Operational Research vol 229 no3 pp 573ndash584 2013

[40] T C E Cheng B Peng and Z Lu ldquoA hybrid evolutionaryalgorithm to solve the job shop scheduling problemrdquo Annals ofOperations Research 2013

[41] P Chardaire M Barake and G P McKeown ldquoA PROBE-based heuristic for graph partitioningrdquo IEEE Transactions onComputers vol 56 no 12 pp 1707ndash1720 2007

[42] Y Q Cai J H Wang J Yin and Y L Zhou ldquoMemetic clonalselection algorithm with EDA vaccination for unconstrainedbinary quadratic programming problemsrdquo Expert Systems withApplications vol 38 no 6 pp 7817ndash7827 2011

[43] N F Unver and M M Kokar ldquoSelf controlling tabu searchalgorithm for the quadratic assignment problemrdquo Computers ampIndustrial Engineering vol 60 no 2 pp 310ndash319 2011

[44] T James C Rego and F Glover ldquoMultistart tabu search anddiversification strategies for the quadratic assignment problemrdquoIEEE Transactions on Systems Man and Cybernetics A vol 39no 3 pp 579ndash596 2009

[45] S Kulturel-Konak ldquoA linear programming embedded proba-bilistic tabu search for the unequal-area facility layout problemwith flexible baysrdquo European Journal of Operational Researchvol 223 no 3 pp 614ndash625 2012

[46] F Glover andM Laguna Tabu Search Springer New York NYUSA 1997

[47] F Glover M Laguna and R Martı ldquoFundamentals of scattersearch and path relinkingrdquo Control and Cybernetics vol 29 no3 pp 653ndash684 2000

[48] H Barbalho I Rosseti S L Martins and A Plastino ldquoAhybrid data mining GRASP with path-relinkingrdquo Computers ampOperations Research vol 40 no 12 pp 3159ndash3173 2013

[49] YWang Z Lu F Glover and J Hao ldquoPath relinking for uncon-strained binary quadratic programmingrdquo European Journal ofOperational Research vol 223 no 3 pp 595ndash604 2012

[50] YMDeng and J F Bard ldquoA reactiveGRASPwith path relinkingfor capacitated clusteringrdquo Journal of Heuristics vol 17 no 2 pp119ndash152 2011

[51] R P Beausoleil G Baldoquin and R A Montejo ldquoMulti-start and path relinking methods to deal with multiobjectiveknapsack problemsrdquoAnnals of Operations Research vol 157 no1 pp 105ndash133 2008

[52] L Y Tseng and S C Chen ldquoTwo-phase genetic local searchalgorithm for the multimode resource-constrained projectscheduling problemrdquo IEEE Transactions on Evolutionary Com-putation vol 13 no 4 pp 848ndash857 2009

[53] K Sorensen and M Sevaux ldquoMAmdashPM memetic algo-rithms with population managementrdquo Computers amp OperationsResearch vol 33 no 5 pp 1214ndash1225 2006

[54] R P Dick D L Rhodes and W Wolf ldquoTGFF task graphs forfreerdquo in Proceedings of the 6th International Workshop on Hard-wareSoftware Codesign pp 97ndash101 March 1998

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of

Submit your manuscripts athttpwwwhindawicom

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical Problems in Engineering

Hindawi Publishing Corporationhttpwwwhindawicom

Differential EquationsInternational Journal of

Volume 2014

Applied MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Mathematical PhysicsAdvances in

Complex AnalysisJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

OptimizationJournal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Operations ResearchAdvances in

Journal of

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Function Spaces

Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014

International Journal of Mathematics and Mathematical Sciences

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Algebra

Discrete Dynamics in Nature and Society

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Decision SciencesAdvances in

Discrete MathematicsJournal of

Hindawi Publishing Corporationhttpwwwhindawicom

Volume 2014

Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014

Stochastic AnalysisInternational Journal of