  We introduce a novel algorithm for solving network utility maximization (NUM)
problems that arise in resource allocation schemes over networks with known
safety-critical constraints, where the constraints form an arbitrary convex and
compact feasible set. Inspired by applications where customers' demand can only
be affected through posted prices and real-time two-way communication with
customers is not available, we require an algorithm to generate ``safe
prices''. This means that at no iteration should the realized demand in
response to the posted prices violate the safety constraints of the network.
Thus, in contrast to existing distributed first-order methods, our algorithm,
called safe pricing for NUM (SPNUM), is guaranteed to produce feasible primal
iterates at all iterations. At the heart of the algorithm lie two key steps
that must go hand in hand to guarantee safety and convergence: 1) applying a
projected gradient method on a shrunk feasible set to get the desired demand,
and 2) estimating the price response function of the users and determining the
price so that the induced demand is close to the desired demand. We ensure
safety by adjusting the shrinkage to account for the error between the induced
demand and the desired demand. In addition, by gradually reducing the amount of
shrinkage and the step size of the gradient method, we prove that the primal
iterates produced by the SPNUM achieve a sublinear static regret of ${\cal
O}(\log{(T)})$ after $T$ time steps.
