## 4 Optimal Mapping In Dima
### Solution of Single Objective Optimization
#### 4.1.1 Ilp Solvers  
ILP can be solved by exact algorithms, approximate algorithms and metaheuristic algorithms. Solutions from exact algorithms guarantee optimality, and meanwhile, the feasibility of the solutions is satisfied. Standard solvers, such as CPLEX and GUROBI, can produce global optimal solutions.  
[PERSON] et al. in Reference [34] presented binary program formulations and leveraged ILP solver to find the optimal solution for the allocation of modules and resources. Given a set of devices, the placement of the functions onto the devices can be represented as binary variables. In the formulation, two sets of objectives are considered individually, including mass (consisting of peripheral wire mass, device mass and total mass) and operational interruption cost. This leads to a standard ILP formulation with single objective function. Segregation, device locations and power constraints are considered in the optimization problem. The optimizations are implemented in Matlab using CPLEX and exact solutions are given to the optimal hardware and software mapping problems according to the different objective functions.  
[PERSON] et al. in Reference [48] solved a task mapping and scheduling problem of maximizing the spare time on distributed processing units for IMA architecture, by integer linear program. A set of constraints were considered in the optimization problem, including memory capacity and the maximum number of allocated jobs on each module as well as segregation constraints. ILP was adopted to formulate the optimization problem and optimal solutions were obtained. Similarly, [PERSON] et al. in Reference [28] proposed a task assignment algorithm for avionics system, minimizing total execution time with respect to AFDX delays.  
In addition, rather than using standard solvers, some researchers adopt metaheuristic search methods to solve the ILP in DIMA optimization. Although it is usually difficult to determine whether a reported solution is indeed optimal, metaheuristic algorithms can efficiently generate solutions that are \"good enough\". [PERSON] et al. [35] leveraged Tabu search method to minimize the development costs. The optimization problem aims to find the mapping of tasks to processors, the assignment of tasks to partitions, and the scheduling sequence on each processor, while all the applications must meet their deadlines. To avoid obtaining local minima, Tabu search incorporates an adaptive memory to prevent the search from revisiting previous solutions and search the unexplored regions for the solution when there is no improvement in finding a better solution. [PERSON] et al. [49] minimized the utility function subject to safety requirement with particle swarm optimization. The utility function is defined as the total cost of the system. The constraint is characterized by system failure probability as the sum of failure probabilities of CPMs and RDCs processing resources, which should be below the minimum requirement. Particle swarm optimization [50] based on swarm intelligence is leveraged to solve the optimization problems for finding the mappings among locations, devices and tasks. Each particle moves in a certain velocity in the search space iteratively to search for better positions. The position represents a candidate solution to the optimization problem.