  In cache-aided networks, the server populates the cache memories at the users
during low-traffic periods, in order to reduce the delivery load during
peak-traffic hours. In turn, there exists a fundamental trade-off between the
delivery load on the server and the cache sizes at the users. In this paper, we
study this trade-off in a multicast network where the server is connected to
users with unequal cache sizes and the number of users is less than or equal to
the number of library files. We propose centralized uncoded placement and
linear delivery schemes which are optimized by solving a linear program.
Additionally, we derive a lower bound on the delivery memory trade-off with
uncoded placement that accounts for the heterogeneity in cache sizes. We
explicitly characterize this trade-off for the case of three end-users, as well
as an arbitrary number of end-users when the total memory size at the users is
small, and when it is large. Next, we consider a system where the server is
connected to the users via rate limited links of different capacities and the
server assigns the users' cache sizes subject to a total cache budget. We
characterize the optimal cache sizes that minimize the delivery completion time
with uncoded placement and linear delivery. In particular, the optimal memory
allocation balances between assigning larger cache sizes to users with low
capacity links and uniform memory allocation.
