# Software Portfolio Optimization: Access Rejection versus Underutilization
## 2 Literature Review  
Queuing models employed to estimate loss (blocking) probability may be found in the literature pertaining to a variety of applications, such as call centers [7; 8; 9], after sales services [10; 11; 12; 13; 14], and health care services [9; 15], and have also been used to estimate the number of licenses needed to meet a given probability of nonaccess. Specifically, the literature on efficient software licensing has mostly addressed queuing models used to estimate the probability that a single type of user will be denied access given a finite versus an infinite number of users, which is justified when analyzing a case in which the number of concurrent users is quite small relative to the total number of potential users. In particular, [PERSON] et al. [16] consider several multiserver Erlang delay and loss queuing models when assuming an infinite number of users and the Engset model with no queue and a finite number of users. They address floating network concurrent licenses and assume that the users are homogeneous. [PERSON] [17] also studies a single type of licensing for homogeneous users but assumes that the distribution of user arrivals is binomial; that is, there is a given probability that a user (a student) will want to use a terminal (license) in a given one-hour interval, and that probability is referred to as the probability of \"success\" in terms of the binomial distribution. In that case, determining the probabilities that exactly \(x\) students in a population of \(n\) students will want to use the software and that \(k\) students will be denied access when \(x\) is greater than \(k\) is straightforward. The goal is to determine the tradeoff between the cost of the software licenses and the cost of failing to satisfy some users. [PERSON] and [PERSON] [18] consider a more general optimization problem. They assume that the Erlang loss (queuing) system describing user demand and operating times depends on the specific time interval involved. Their basic model allows for optimization of the license portfolio cost for a single homogeneous user group subject to a given load profile and a quality-of-service standard. They consider portfolios consisting of two types of license, single user and network, and suggest an extension to make the general problem for heterogeneous users more tractable. This is accomplished by splitting the heterogeneous users into a few homogeneous groups and determining the number of each type of license needed for those groups. Their numerical analysis for a large user group shows that, in most cases, mixed single-user and network licensing is not economically efficient, even for heterogeneous user behavior. In addition, they examine a case involving several user groups and demand-oriented licensing. They find that dynamic network licensing is cost effective, especially for international businesses and even for intensive-use groups because of time shifts among the user profiles. A separate stream of literature addresses job scheduling and management of available software licenses and cloud computing services. Studies examining floating licenses and scheduling policies have found that submitted jobs can be queued and scheduled so that software and limited licenses can be shared and used efficiently via multiple clusters of users [19; 20; 21; 22]. In this paper, we focus on strategic acquisitions of licenses to meet peak demand. As in previous studies, we employ an Erlang queuing model to describe demand for software licenses and determine access-rejection probabilities. Unlike the above-mentioned studies, which compared specific portfolio alternatives, we present a general integer program that optimizes licensing portfolios subject to access-rejection and underutilization constraints. The program integrates multiple types of licenses and sublicenses into a portfolio using the number of licenses of each type as a decision variable.