# Optimization Techniques for Design Problems in Selected Areas in WSNs: A Tutorial
## Part I Introduction
In part III of this paper, we expose the reader to the following design problems in WSNs:  
1. routing for multi-hop WSNs with a single immobile sink [2],
2. routing in a delay-tolerant WSN with a single mobile sink [3],
3. joint routing, power and bandwidth allocation in FDMA WSNs [4],
4. joint energy allocation and routing in WSNs with rechargeable batteries [5],
5. routing in multi-hop single fixed sink with different objectives under distance uncertainties [6],
6. joint routing and scheduling in WSNs with multiple sinks with different sink location possibilities [7],
7. delay sensitive routing for underwater WSNs [8],
8. using mobile radio frequency (RF) power charger to charge the batteries of sensors in a WSN [9],
9. assignment of data processing tasks across the nodes in WSN [10],
10. hierarchical clustering in a heterogeneous network [11],
11. energy efficient co-operative broadcasting at the symbol level [12],
12. dispatching of mobile sensor nodes in a WSN to sense a particular region of interest [13],
13. fusion of delay sensitive noise perturbed data sensed by different nodes in a given cluster [14],
14. Energy Optimization in Wireless Visual Sensor Networks While Maintaining Image Quality [15]. As the taxonomy in Figure 1 shows, there are a number of different types of design problems that involve routing as a common key design aspect, possibly jointly with others like power allocation or scheduling in a subset of those. There are many papers in the WSN literature that have considered routing as a design aspect and is still being considered in recent research works like [16; 17; 18]. For this reason, in part II of this paper, we focus specifically on linear network problems and their algorithms, which deal with routing of network flows. Figure 1 shows that other than routing in different variants of WSNs, we also have selected topics that are necessarily not connected, like RF power charging, visual tracking etc. The main aim here is to illustrate and discuss how optimization is used in a wide number of applications, topologies (single sink, multiple sink, mobile sinks, etc.) and design aspects of WSNs. There are certainly many more in the literature that the readers can come across in the literature. This paper extends our recently published conference paper [19], which was a shorter version and considered only the 7 routing problems of the above 14 problems. The main approach we take is to identify how each design problem is formulated into an optimization problem. Some of the problems were reformulated later by the authors to make solution methods more efficient. We discuss both the first formulations and the reformulations and provide comments about both cases for each problem. Later we discuss the advantages and disadvantages associated with each formulation and then discuss the solution methods. While we give clear scientific reasons and arguments to support our views about each formulation, most of the comments are definitely based on our opinions and strongly influenced by our understandings of the models as presented by the authors of the papers reviewed. Our goal is to present a tutorial on the subject. Optimization techniques that have been in the operations research (OR) literature for almost a century provide a rich reservoir of different types and classes of optimization problems that have been studied extensively. For these, different solution techniques are available that have experienced development over the years until they have reached to a mature level in which their computational and storage performance have been extensively tested and assessed. Among these are the different variants of Lagrangian relaxation [20], dual decomposition methods [21] column generation [22] and many others. We dedicate part II to explain _linear optimization_ since this was the first type of optimization that appeared and lots of special structured linear programs have been studied for which efficient algorithms have been developed.