  Numerous problems of both theoretical and practical interest are related to
finding shortest (or otherwise optimal) paths in networks, frequently in the
presence of some obstacles or constraints. A somewhat related class of problems
focuses on finding optimal distributions of weights which, for a given
connection topology, maximize some kind of flow or minimize a given cost
function. We show that both sets of problems can be approached through an
analysis of the large-deviation functions of random walks. Specifically, a
study of ensembles of trajectories allows us to find optimal paths, or design
optimal weighted networks, by means of an auxiliary stochastic process (the
generalized Doob transform). In contrast to standard approaches, the paths are
not limited to shortest paths and the weights must not necessarily optimize a
given function. Paths and weights can in fact be tailored to a given statistics
of a time-integrated observable, which may be an activity or current, or local
functions marking the passing of the random walker through a given node or
link. We illustrate this idea with an exploration of optimal paths in the
presence of obstacles, and networks that optimize flows under constraints on
local observables.
