Computer Systems Science & Engineering

A Novel IoT Application Recommendation System Using Metaheuristic Multi-Criteria Analysis

Mohammed Hayder Kadhim and Farhad Mardukhi*

Department of Computer Engineering and Information Technology, Razi University, Kermanshah, Iran
*Corresponding Author: Farhad Mardukhi. Email: mardukhi@razi.ac.ir
Received: 02 October 2020; Accepted: 28 October 2020

Abstract: There are a variety of Internet of Things (IoT) applications that cover different aspects of daily life. Each of these applications has different criteria and sub-criteria, making it difficult for the user to choose. This requires an automated approach to select IoT applications by considering criteria. This paper presents a novel recommendation system for presenting applications on the IoT. First, using the analytic hierarchy process (AHP), a multi-layer architecture of the criteria and sub-criteria in IoT applications is presented. This architecture is used to evaluate and rank IoT applications. As a result, finding the weight of the criteria and sub-criteria requires a metaheuristic approach. In this paper, a sequential quadratic programming algorithm is used to find the optimal weight of the criteria and sub-criteria automatically. To the best of our knowledge, this is the first study to use an analysis of metaheuristic criteria and sub-criteria to design an IoT application recommendation system. The evaluations and comparisons in the experimental results section show that the proposed method is a comprehensive and reliable model for the construction of an IoT applications recommendation system.

Keywords: Internet of Things; smart objects; recommendation system; multi-criteria analysis; sequential quadratic programming

1  Introduction

The IoT is a new communications approach that builds a large network of objects (such as phones, smart TVs, smart watches and tablets) or smart things [13]. The IoT connects smart objects and can transmit data between these objects without human intervention. It also connects humans and objects, for example, in cases where humans have control over smart objects. Smart objects have a variety of features, including memory, computing capabilities, and simple communication functions [48] smart sensors. The combination of the IoT and smart objects produces powerful, creative, and valuable applications. These programs have the potential to dramatically change the way people behave and improve their quality of life. Today, third-party companies offer different types of internet applications. For example, Telus established an online marketplace in 2014 based on service-oriented architecture. Initially, the store provided 34 services, which increased to 100 by 2018 [9,7]. Telus Services offers online solutions for selling products. Users can subscribe to different services by adding their fees. Telus Services offers a wide range of services and products, including smart restaurants, smart gadgets, smart companies, and smart services. As another example, Libelium is a well-known provider of IoT applications. The company provides various services, including smart health [1012], smart agriculture [13] and farming [1416], retail [17], logistics, and security [18], and domestic automation [19].

More IoT applications are expected in the near future. These applications will result in more smart objects, making them even more interchangeable. Finding a user-friendly IoT program to subscribe to will be difficult. There are various reasons for this difficulty. First, the process includes a variety of factors, including smart-object specifications, program capabilities, and costs. As a result, a comparison between different providers and applications, using a variety of criteria, is needed. Clearly, this process is very time-consuming and complicated. Second, companies and internet providers offer different applications with different capabilities and specifications. Finally, user requirements, such as simplicity and cost, should also be considered. As a result, selecting IoT applications is a multi-criteria decision-making (MCDM) process [20,21]. Furthermore, due to the variety of IoT applications and the scope of smart objects, finding the best IoT application is a highly complex process.

Recommendation systems are the best solution to finding the best internet application. However, the recommendation systems already provided are of little use in the field of the IoT because, in the IoT, it is difficult to make decisions due to the different criteria mentioned above. As a result, a new type of recommendation system should be introduced to address these problems.

In recent years, efforts have been made by researchers to provide recommendation systems for the IoT. There follows a brief overview of these methods. The study described in Seyhan and Mehpare [22] provides an MCDM-based method for ranking applications on the IoT. In Saleem et al. [23], an MCDM-based method for selecting a parking space using a parking application is presented. This method takes into account three criteria when making the choice: the parking time required, the parking space, and the distance. In Munoz-Organero et al. [24], MCDM is used to select the best temperature sensors. The researchers’ algorithm consists of three industrial applications and seven sensors for user selection. An expert model is presented in Mashal et al. [25] for evaluating IoT applications. This method uses a general, market-based criterion and sub-criterion hedging. In Valtolina et al. [26], an MCDM-based approach is proposed that uses the criteria of reliability, security, business, and the impacts of the IoT ecosystem. The main problem with these methods is that the weight of the different criteria cannot be determined. In these studies, only a predetermined set of criteria is used; the effect of each criterion on the final selection is not investigated.

More recently, in Mashal et al. [27], a more comprehensive method of creating a recommendation system for selecting IoT applications is presented. This method partly resolves the problems of previous methods. In this method, the analytical hierarchy process (AHP) method is used to assign weights to each criterion and sub-criterion. Using these weights, the effect of each criterion and sub-criterion is investigated. Simple additive weighting is also used to select IoT applications. A problem with this method is the use of manual processes, such as questionnaires, to calculate weights. In addition, the non-optimisation of weights in the proposed algorithm is another problem with this method. Using meta-heuristic algorithms is a good way to find the optimal weights for the criteria and sub-criteria.

This paper presents an effective recommendation system for presenting applications on the IoT. First, a multi-layer architecture of the criteria and sub-criteria for IoT applications using the AHP is presented. Second, this architecture is used to evaluate and rank IoT applications. In this paper, the proposed method of finding the weight of the criteria and sub-criteria becomes an optimisation problem. Then, the sequential quadratic programming algorithm is used to find the weight of the criteria and sub-criteria automatically. It should be noted that this article is the first attempt to develop a comprehensive algorithm for determining the optimal weighting of criteria and sub-criteria for IoT applications using a metaheuristic approach. The evaluations and comparisons in the experimental results section show that the proposed method is a comprehensive and reliable model for the construction of an IoT applications recommendation system.

The remaining sections are organised as follows: in the Section 2 an illustrative case study and informative example are given. In the Section 3, the analytical hierarchy process is explained in detail, including three objectives criteria. Then, the methodology is given in Section 4. In Section 5 the results and discussion are shown in detail, and finally, the conclusion is provided in Section 6.

2  Illustrative Case Study

An example scenario is defined in this section to specify the selection of IoT applications and multi-criteria analysis. For example, consider a user who needs medical attention. For this purpose, a set of sensors must be used to take care of them. He can subscribe to intelligent objects provided by a set of IoT applications, for example, IoT applications that offer telehealth care. Smart objects such as images: electroencephalogram (EEG), images: electrocardiogram (ECG), or images: electromyogram (EMG) sensors, as well as other sensors, are included in the IoT applications. In this scenario, these medical-care IoT applications are provided by a set of providers images (for example, Libelium or Telus). Each of these providers presents smart objects at different costs and with different specifications. It is clear from this example that different criteria and sub-criteria must be considered to make the selection. For example, this user can subscribe to the first provider’s plans (images) or to other first provider’s applications (images), where A is the selection criteria.

However, in this scenario, different IoT applications are offered by different companies in the field of IoT; there are different choices for users, and checking each of these options is a very time-consuming process. Therefore, based on the profile of a user, a recommendation system should be offered to provide the best alternatives (images).

3  Analytical Hierarchy Process

This section first introduces a multi-layer architecture for selecting the best AHP-based IoT and IoT applications. The AHP requires four elements to build an architecture: 1) a goal, 2) criteria, 3) sub-criteria, and 4) alternatives. Tab. 1 shows the AHP architecture used in this paper. In the first layer, the goal layer, indicate to the best IoT smart objects and applications (images) are found, which is the purpose of this paper. In the second layer, three strategic criteria are introduced. In the third layer, the sub-criteria are described. Finally, in the fourth layer, the alternatives that need to be evaluated are presented. The following sections describe each layer and the alternatives.

Table 1: The selection hierarchy process


3.1 Smart Object Criteria

Smart objects have different properties. However, despite their different characteristics, there are four important general criteria to consider: cost, energy consumption, installation, and interoperability. The first criterion is cost, which is an important factor in the use of a smart object: the low cost of a smart object increases the likelihood that users will buy and use it. The costs of a smart object are not simply its direct costs. There may also be an indirect cost, such as the cost of installing it. The second important criterion for a smart object is its energy consumption, which is usually evaluated in units of time. This is also, therefore, an important criterion, as lower energy consumption increases the lifespan of a smart object. The third criterion for a smart object is its ability to be installed. A smart object in the IoT may contain a large number of smart objects; therefore, the installation of this number of objects should be simple. The interoperability of a smart object is its fourth important criterion. Smart objects may be purchased from different companies, and these objects must be interoperable.

3.2 Application Criteria

The following five criteria were selected based on an analysis of internet applications: availability, ease of use, interface, privacy, and reliability. The first criterion, availability, is a very important feature of a program. In general, the IoT is very time-sensitive, so always being always operational is an important characteristic of an IoT program. The second is the ease of use. It is important to evaluate an application’s user interface as a user must be able to use the IoT without any prior training. The third criterion is the interface; whether or not a user wants to access an application, it must be provided to all users using all platforms. The fourth and fifth are privacy and reliability, respectively. An application on the IoT should give the user confidence that there is no interference with the system and reduce the risks associated with its use.

3.3 Provider Criteria

Provider criteria contain three sub-criteria: customer care, number of customers, and reputation. The customer care sub-criterion refers to the ability of IoT applications providers to support customers and give consultations. The number of customers refers to the number of customers who subscribe to a company’s IoT applications. The last criterion is based on users’ perceptions of a provider and how familiar the provider is to users. Users typically subscribe more readily to popular providers.

4  Methodology

4.1 User Preference Evaluation

After a hierarchy of criteria and sub-criteria was designed, it was evaluated by users. In the AHP architecture, each user compares the criteria and sub-criteria in pairs. For this purpose, data on smart objects, applications, and providers was first collected. This information was collected from technical reports, specifications, factory catalogues, and reports from a number of medical companies’ websites. For most criteria, the data was numerically collected, although some criteria also included qualitative data. For example, for the energy consumption criterion, three qualities were used: low, medium, and high.

Next, a questionnaire was used to collect users’ opinions on the criteria and sub-criteria. This questionnaire was based on Saaty’s numerical scale [28]. In this standard, user ratings range from one to nine. Tab. 2 shows an example of this questionnaire. Users’ comments were recorded as each criterion or sub-criterion was compared to other criteria and sub-criteria. The user was asked to indicate whether this criterion or sub-criterion was a multiple of others. To collect the survey questionnaire, 50 different users were registered.

Table 2: Saaty’s numerical scale


4.2 Metaheuristic Weight Analysis

After the layered architecture was designed, a real scenario needed to be defined. Assume there is a set of smart objects images. These objects are provided by multiple applications images from several providers images. The recommendation system should give the user the best alternatives (images) according to the criteria outlined in Tab. 1. Assuming an initial set of weights for each criterion and sub-criterion (described in Section 5.1), a method should be proposed to offer the best alternatives to the user. Sequential quadratic programming weighting assigns different weights to alternatives in a dynamic way. Its theoretical basis can be summarised as follows: given an alternative imagesin a dataset, first, at least one nearest neighbours of images in the dataset is found: images; images; … images. Each of these has a score images; images; … images. Then, the following problem is solved to find the weights images:


in which images is the cost function for the alternatives of images and images is the optimal weight.

Let (images) = images. Then, the following matrix A images stores all the alternatives of the neighbours images; images; … images:


That is, it is necessary to solve the problem


by satisfying the constraintsimages and images.

This is equivalent to solving the nonlinear optimisation problem


Let images and images. This can be re-written as a standard sequential quadratic programming format as follows:




where images; images, and images where images is a vector in images in which all entries are 1. The problem can be solved by sequential programming (SP), which is an effective approach to solve small or medium nonlinear programming problems [14,23]. The basic idea of SP is to combine an active set and a Newton method by solving a corresponding SP sub-problem. The sub-problem is a linearly constrained quadratic programming (QP) approximation of the original problem that is generated by the second-order Taylor expansions of the objective and constraint functions along an iteration direction images. Namely,




where imagesis the the Hessian matrix of images at the kth iteration. The SP solves a QP problem in each iteration to determine the direction images and calculates the next iteration point, images, until images approximates a zero vector.

5  Results and Discussion

5.1 Initial Weight of Criteria and Sub-Criteria

Based on Saaty’s scale in the questionnaire, the main criteria and sub-criteria were numerically compared. Tab. 3 shows the comparison of the main criteria. For example, this table shows that the smart object and provider were given a score of 5. This means that, according to users, the smart object is much more important than the provider. The application is also six times more important than the provider. Therefore, it is determined that the application weight at the first layer of AHP is most important, with a weight of 0.73, while the smart object’s weight is 0.19 and the provider’s is 0.07.

Table 3: Comparison of criteria by Saaty’s numerical scale


Further assessments based on Saaty’s scale in the questionnaire for the following criteria were also performed. In the following evaluation results, smart object metrics were determined to have greater weight for interoperability, with a weight of 0.65. It also gained a weight of 0.21 for the sub-criterion. The weights for power and installation criteria were 0.09 and 0.05, respectively. Different weights were also obtained for drafts. Based on the estimates for the privacy sub-criterion, the weight was 0.46. Weights of 0.27 and 0.15 were obtained for reliability and availability criteria, respectively. The ease of use and interface sub-criteria also had weights of 0.06 and 0.03, respectively. Finally, weights are also obtained for sub-criteria. The sub-criterion with the highest weight had 0.71. The customer care weight was 0.22. Finally, the lowest weight of 0.07 belonged to the sub-criterion.

5.2 Heuristic Global Weight and the Ranking of Alternatives

The initial weights for the criteria and sub-criteria were calculated, these weights were used to train the SQL algorithm and obtain global weights. Tab. 4 shows the global weights obtained by the SQL algorithm for all sub-criteria, in order of weight. The results in Tab. 4 illustrate the importance of program metrics: three of the program metrics are among the top five criteria in the table. These weights can be used to rank selections. Tab. 5 shows the arrangement of a number of criteria choices.

Table 4: Ranking of sub-criteria using heuristic global weight


Table 5: Score of some alternatives according to their heuristic global weight


5.3 Comparison of the SQL Programming–Based Weighting

In addition to a combination of MSE and sequential quadratic programming weighting methods, the mean and median of the predicted best weight were used to calculate the final weight. Mathematically, they are equivalent to inferring the following prediction functions: images. The former assigns the same weights to all disease predictions, and the latter assigns weights such that the final disease is the median of all predictions from the batch learning.

Tab. 6 and Fig. 1 illustrate the performance of the three top-performing ML models in batch learning, the MSE weighting, and the sequential quadratic programming weighting on behalf of MSEs. It shows that the proposed combined learning method combination learning achieves better performance than bagging and MLP with 500 neurons in the hidden layer. The sequential quadratic programming weighting outperforms other integration methods by achieving approximately 25% improvement in the average performance of the three single ML models. All integrative learning methods achieved better predictions than the single ML model predictions.

Table 6: The MSE comparisons sequential quadratic programming weighting and the two top-performing models



Figure 1: The MSE comparisons sequential quadratic programming weighting and the two top-performing models

6  Conclusions

This paper proposed an effective recommendation system for presenting applications on the IoT. In this method, first, using the AHP, a multi-layer architecture of the criteria and sub-criteria in IoT applications was presented. This architecture was used to evaluate and rank IoT applications. After that, finding the weight of the criteria and sub-criteria became an optimisation problem. Then, the sequential quadratic programming algorithm was used to find the optimal weight of the criteria and sub-criteria automatically. Evaluations and comparisons in the experimental results section show that the proposed method is a comprehensive and reliable model for the construction of IoT applications recommendation systems it demonstrates 25% improvement compared to existing work.

Funding Statement: The author(s) received no specific funding for this study.

Conflicts of Interest: The authors declare that they have no conflicts of interest to report regarding the present study.


  1. A. Alkhayyat, A. A. Thabit, F. A. Al-Mayali and Q. H. Abbasi. (2019). “WBSN in IoT health-based application: Toward delay and energy consumption minimization,” Journal of Sensors, vol. 2019, pp. 1–14.
  2. D. A. Hammood, A. R. Hasliza, A. Alkhayyat and A. R. Badlishah. (2019). “Body-to-body cooperation in Internet of Medical Things: Toward energy efficiency improvement,” Future Internet, vol. 11, no. 11, pp. 239.
  3. A. A. Thabit, M. S. Mahmoud, A. Alkhayyat and H. Qammer. (2019). “Abbasi, energy harvesting Internet of Things health-based paradigm: Towards outage probability reduction through inter-wireless body area network cooperation,” International Journal of Distributed Sensor Networks, vol. 15, no. 10, pp. 1–12.
  4. L. Atzori, A. Iera and G. Morabito. (2010). “The Internet of Things: A survey,” Computer Networks, vol. 54, no. 15, pp. 2787–2805.
  5. M. Munoz-Organero, G. A. Ramírez-González, P. J. Munoz-Merino and C. D. Kloos. (2010). “A collaborative recommender system based on space-time similarities,” IEEE Pervasive Computing, vol. 9, no. 3, pp. 81–87.
  6. R. M. Nouh, H. H. Lee, W. J. Lee and J. D. Lee. (2019). “A smart recommender based on hybrid learning methods for personal well-being services,” Sensors, vol. 19, no. 2, pp. 431.
  7. J. Lu, D. Wu, M. Mao, W. Wang and G. Zhang. (2015). “Recommender system application developments: A Survey,” Decision Support Systems, vol. 74, pp. 12–32.
  8. M. Afzal, S. I. Ali, R. Ali, M. Hussain, T. Ali et al. (2018). , “Personalization of wellness recommendations using contextual interpretation,” Expert Systems with Applications, vol. 96, pp. 506–521.
  9. P. Resnick and H. R. Varian. (1997). “Recommender systems,” Communications of the ACM, vol. 40, no. 3, pp. 56–58.
  10. X. Yang, Y. Guo, Y. Liu and H. Steck. (2014). “A survey of collaborative filtering based social recommender systems,” Computer Communications, vol. 41, pp. 1–
  11. B. Gupta. (2019). “Real-time context aware recommendation engine based on a user Internet of Things environment. U.S. Patent 10,185,934.
  12. P. Wang, H. Luo and Y. Sun. (2017). “IoT service recommendation strategy based on attribute relevance,” in Proc. UCAmI, Philadelphia, USA, pp. 34–43.
  13. S. D. T. Kelly, N. K. Suryadevara and S. C. Mukhopadhyay. (2013). “Towards the implementation of IoT for environmental condition monitoring in homes,” IEEE Sensors Journal, vol. 13, no. 10, pp. 3846–3853.
  14. J. C. Tseng, B. H. Lin, Y. F. Lin, V. S. Tseng, M. L. Day et al. (2015). , “An interactive healthcare system with personalized diet and exercise guideline recommendation,” in Proc. TAAI, Tainan, Taiwan, pp. 525–532.
  15. M. F. Alhamid, M. Rawashdeh and H. Dong. (2017). “Exploring latent preferences for context-aware personalized recommendation systems,” IEEE Transactions on Human-Machine Systems, vol. 46, no. 4, pp. 615–623.
  16. M. Munoz-Organero, G. A. Ramírez-González, P. J. Munoz-Merino and C. D. Kloos. (2010). “A collaborative recommender system based on space-time similarities,” IEEE Pervasive Computing, vol. 9, no. 3, pp. 81–87.
  17. X. Chen, Z. Zheng and M. R. Lyu. (2011). “Qos-aware web service recommendation via collaborative filtering,” Web Services Foundations, vol. 4, no. 2, pp. 140–152.
  18. T. De Pessemier, C. Courtois, K. Vanhecke, K. Van Damme, L. Martens et al. (2016). , “A user-centric evaluation of context aware recommendations for a mobile news service,” Multimedia Tools and Applications, vol. 75, no. 6, pp. 3323–3351.
  19. M. P. O’Mahony and B. Smyth. (2011). “A classification-based review recommender,” Proceedings of the RDIS, vol. 23, no. 4, pp. 323–329.
  20. E. Triantaphyllou. (2000). “Multi-criteria decision making methods: A comparative study. Springer, . [Online]. Available: https://www.springer.com/gp/book/9780792366072.
  21. Yao L., Sheng Q. Z., Ngu A. H. H. and Li X. (2016). “Things of interest recommendation by leveraging heterogeneous relations in the internet of things,” ACM Transactions on Internet Technology, vol. 16, no. 2, pp. 1–25.
  22. S. Seyhan and T. Mehpare. (2018). “The analytic hierarchy process and analytic network process: An overview of applications,” Management Decision, vol. 48, no. 5, pp. 775–808.
  23. Y. Saleem, N. Crespi, M. H. Rehmani, R. Copeland, D. Hussein et al. (2016). , “Exploitation of social IoT for recommendation services,” in Proc. WF-IoT, Reston, VA, USA, pp. 359–364.
  24. M. Munoz-Organero, G. A. Ramírez-González, P. J. Munoz-Merino and C. D. Kloos. (2018). “A collaborative recommender system based on space-time similarities,” IEEE Pervasive Computing, vol. 9, no. 3, pp. 81–87.
  25. I. Mashal, O. Alsaryrah and T. Y. Chung. (2016). “Performance evaluation of recommendation algorithms on Internet of Things services,” Physica A: Statistical Mechanics and its Applications, vol. 451, pp. 646–656.
  26. S. Valtolina, M. Mesiti and B. Barricelli. (2014). “User-centered recommendation services in internet of things era,” in Proc. CoPDA2014 workshop, Como, Italy.
  27. I. Mashal, O. Alsaryrah, T. Y. Chung and F. C. Yuan. (2020). “A multi-criteria analysis for an internet of things application recommendation system,” Technology in Society, vol. 60, pp. 101216.
  28. T. L. Saaty. (1989). “Decision making, scaling, and number crunching,” Decision Sciences, vol. 20, no. 2, pp. 404–409.
  29.  B. Uslu, T. Eren, Ş. Gür and E. Özcan. (2019). “Evaluation of the difficulties in the internet of things (IoT) with multi-criteria decision-making,” Processes, vol. 7, no. 3, pp. 164.
images This work is licensed under a Creative Commons Attribution 4.0 International License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.