Smart Predict and Optimize: A Tutorial on End-to-End Optimization Resource Allocation for IoT Networks

The operators and nodes of Internet of things (IoT) networks often perform resource allocation, where they may solve a mathematical program to compute the optimal allocation of resources or decision(s), e.g., energy usage of devices, using sensed data as parameter values. Further, these parameter values may be stored/predicted using a neural network given one or more features, e.g., historical energy arrival rates at nodes. In this respect, to date, there are no IoT specific tutorials or works that focus on the smart predict and optimize (SPO) resource allocation framework. This paper thus fills this gap. Briefly, it shows the workflow of SPO, which involves using a machine learning model and a mathematical program to compute decisions. A key feature of SPO is that unlike prior approaches that only aim to predict the parameter values of a mathematical program, it maps the features of a system to decisions in an {\em end-to-end} manner. This paper also outlines various potential IoT applications that would benefit from SPO. It then presents a case study where SPO is used to decide task offloading from a device that has to contend with other users in a WiFi network. Lastly, it outlines some future research directions.