In this paper, we propose a mixed-integer linear program to economically optimize equipment usage in a central heating/cooling plant subject to time-of-use and demand charges for utilities. The optimization makes both discrete on/off and continuous load decisions for equipment while determining utilization of thermal energy storage systems. This formulation allows simultaneous optimization of heating and cooling subsystems, which interact directly when heatrecovery chillers are present. Nonlinear equipment models are approximated as piecewise-linear to balance modeling accuracy with the computational constraints imposed by online implementation and to ensure global optimality for the computed solutions. The chief benefits of this formulation are its ability to tightly control on/off switching of equipment, its consideration of cost contributions from auxiliary equipment such as pumps, and its applicability to large systems with multiple heating and cooling units in which a combinatorial problem must be solved to pick the optimal mix of equipment. These features result in improved performance over heuristic scheduling rules or other formulations that do not consider discrete decision variables. We show optimization results for a system with four conventional chillers, two heat-recovery chillers, and one hot water boiler. With a timestep of 1 h and a horizon of 48 h, the optimization problem can be solved to optimality within 5 minutes, indicating suitability for online implementation.