Constructing the visible and invisible regions of an observer due to the presence of obstacles in the environment has played a central role in many applications. It can also be a first step. In this paper, we adopt a visibility algorithm that can produce a variety of general information to handle the optimization of visibility information. Through the use of level set tools, gradient flow, finite differencing, and solvers for ordinary differential equations, we introduce a set of distinct algorithms for several model problems involving the optimization of visibility information.