1 Introduction

Distributed generation (DG) has gained interest as an alternative source of power for new and existing buildings in the residential, commercial, and industrial sectors. Rather than solely purchasing electricity from a centralized utility, a building owner can invest in an on-site system to supply power using non-renewable technologies such as reciprocating engines, microturbines, and fuel cells, and renewable technologies such as photovoltaic (PV) cells and wind turbines. When integrated with heat exchangers, solar thermal collectors, and absorption chillers, on-site systems can also meet some of the building heating and cooling demands. In addition to generation, DG systems can include electric and thermal storage technologies to address the uncertainty in the supply available from renewable generators or to take advantage of time periods in which utility prices are low. Our research considers the integration of technologies such as these with existing commercial buildings.

There are a number of reasons why DG systems should be considered for commercial building applications. Between 2005 and 2009, the commercial sector accounted for 36 % of electricity consumption across all sectors, which resulted in an average annual cost of roughly $127 billion (see EIA 2011b). Gumerman et al. (2003) list benefits to the owner of DG systems, which have the potential to reduce this economic burden. These benefits include a lower cost of electricity (in some markets), protection from utility price volatility, more reliable power, and greater energy efficiency. The authors further describe potential benefits of DG to the local community. When composed of “clean” natural gas-fed or renewable technologies, DG systems emit less carbon dioxide than most centralized power plants. Smaller, on-site generation also addresses much of the opposition in local communities to the construction of large power plants and transmission lines. Yet, based on Department of Energy projections for electricity consumption and DG market penetration, on-site systems will supply a mere 2 % of commercial sector electricity demand in 2035 (see EIA 2011a).

This disparity between the noted operational benefits of DG systems and the modest prediction for future market penetration exists for a variety of reasons. From a purely economic standpoint, many power utilities maintain low prices for electricity while the capital costs for DG technologies remain high. This discrepancy has discouraged building owners from investing in DG systems. However, due to their lower emissions rates compared to centralized power plants, some DG technologies afford lower environmental costs which building owners often have no economic incentive to internalize. Properly considering all of the costs associated with generation, which include environmental costs and other externalities, effectively increases the price of electricity from the utility and may make DG more economically viable. Finally, DG has experienced limited implementation simply due to a lack of understanding regarding how to design (i.e., configure and size) and dispatch (i.e., operate) such mixed-resource systems. The objective of our research is to address this lack of understanding with an optimization model that determines how to design and dispatch a DG system at minimum economic and environmental cost.

Previous research regarding DG focuses on various aspects of the optimal system design and dispatch. Many studies address the optimal performance of an individual DG technology, but do not resolve the system-level design and dispatch problem of integrating, sizing, and operating multiple technologies. Other research seeks the optimal dispatch of an existing system, but does not consider the optimal system design. Our research focuses on the optimal design and dispatch of a DG system. Similarly focused research in the literature applies simulation models, evolutionary algorithms (EAs), or more traditional mathematical programming algorithms, such as branch-and-bound, to the design and dispatch problem (e.g., Georgilakis 2006; Burer et al. 2003; Weber et al. 2006; Siddiqui et al. 2005a). In general, studies that apply simulation or EAs cannot guarantee the global optimality of their solutions. The existing applications of branch-and-bound to the design and dispatch problem provide the guarantee of global optimality, but fail to consider many of the detailed performance characteristics of the technologies that are required to realistically model the system operation. Our research contributes to the literature by providing techniques for determining the provably globally minimum cost DG system design and dispatch without sacrificing realistic operation of the technologies.

Modeling the operation of such a complex system requires constraints to control the operational status (i.e., on or off), capacity, ramping (i.e., increasing or decreasing power output), and variable efficiency of the generators, as well as constraints to control the state-of-charge (i.e., inventory) of electric storage technologies and the temperature of thermal storage technologies. These constraints can include integer variables in each time period, connections between consecutive time periods, and nonlinear equalities. Given all of these characteristics, the resulting model is a large, nonseparable, nonconvex, mixed-integer, nonlinear programming (MINLP) problem. The algorithms suitable for solving large, nonconvex MINLPs are limited and dependent on the problem structure. The application of a nonlinear branch-and-bound algorithm requires methods to obtain global upper and lower bounds on the objective value at each node in order to converge to the optimal solution. However, these bounds can be difficult to obtain for large, nonconvex problems. Thus, we develop problem-specific convex underestimation techniques, motivated by our engineering insight, to obtain global lower bounds on the objective value of our MINLP. We also develop a linearization heuristic to obtain integer-feasible solutions, and thus global upper bounds, for our MINLP. These bounding techniques can be applied as part of a nonlinear branch-and-bound algorithm to solve large instances of the DG system design and dispatch problem to global optimality.

The remainder of this paper is organized as follows: Sect. 2 presents the formulation of the MINLP. In Sect. 3, we discuss the problem structure, the convex underestimation of the MINLP, and our linearization heuristic. Section 4 compares the solutions provided by our techniques with those provided by existing solvers. Finally, Sect. 5 concludes.

2 Model

The specific system addressed in this research is depicted in Fig. 1. We consider the retrofit of an existing commercial building with a combined heat and power (CHP), DG system. Prior to DG acquisition, the building receives electricity from the power utility (i.e., macrogrid) and heat from a natural gas-fired boiler. The cooling demand is met by existing vapor-compression air conditioning units and is included as part of the power demand. The heat demand includes space and water heating, both of which are met with hot water (i.e., space heat is provided by hot water radiators). The DG system being considered for acquisition generates power with fixed-tilt PV cells and/or natural gas-fed solid oxide fuel cells (SOFCs) which, according to Greene and Hammerschlag (2000), provide lower carbon emissions than other DG-scale generators. The CHP SOFCs are integrated with heat exchangers and a water tank, which allow for the storage of thermal energy in the form of hot water. The system also includes the option for electric storage using lead-acid batteries. We do not consider other non-renewable generators, wind turbines, solar thermal, or absorption chillers. However, our model can be adapted to include these technologies. Next, we provide a general description of the system model, followed by the detailed mathematical formulation.

Fig. 1
figure 1

Combined heat and power (CHP), distributed generation (DG) system consisting of photovoltaic (PV) cells, power-only and CHP solid-oxide fuel cells (SOFCs), lead-acid batteries, and a hot water storage tank

2.1 Model description

Our model includes parameters for the time fidelity and horizon being considered, the heat and power demands of the building, the pricing and carbon emissions rates of the utilities, and the capital and operational costs, carbon emissions rates, and performance characteristics of all the technologies in the system. All of these parameters are treated as deterministic.

The model includes two types of variables: design and dispatch. The design variables establish the configuration and capacity of the DG system. In other words, these variables determine how many of each DG technology in Fig. 1 to acquire. Since generators and batteries can only be purchased in discrete sizes, their associated design variables are restricted to integer values. However, the acquisition of CHP SOFCs includes a hot water storage tank, the volume of which can be increased by a continuous number of gallons. If none of the DG technologies is acquired, then the system is reduced to the existing configuration, which consists of only the macrogrid and the boiler.

The dispatch variables prescribe the distribution of energy across the system in each time period. In other words, these variables determine the flow of power, heat, and natural gas along the arrows depicted in Fig. 1. If none of the DG technologies is acquired, the system dispatch consists of supplying all of the power demand with the macrogrid and all of the heat demand with the boiler. However, if some DG technologies are acquired, then our model determines the share of demand supplied by these technologies.

The objective of our model is to determine the DG system design and dispatch which minimizes the total cost incurred by the building owner to meet demand over the time horizon of interest. We assume the building owner and system owner are the same entity. The total cost includes the capital and operational costs of the acquired technologies, as well as the operational costs from the macrogrid and boiler. The operational costs include operations and maintenance (O&M) costs, the cost of purchased natural gas and electricity, and the taxes paid for the carbon emissions from both the on-site system and the macrogrid’s centralized generation. The cost of purchased electricity is a net cost, which considers the sale of electricity (i.e., net-metering) back to the macrogrid.

Our model includes constraints on the power and heat demands of the building, restrictions imposed by the utilities, and limits on the performance of the technologies. The power demand must be supplied in each time period by the macrogrid and/or by any acquired DG technologies. According to typical net-generation regulations imposed by the utility, the total DG-generated power which is sold to the macrogrid in each billing period cannot exceed the total power purchased from the macrogrid. The heat demand must be supplied by the boiler and/or by the water storage tank. In supplying power and heat, the DG system is constrained by the minimum and maximum capacities of all the acquired technologies. The SOFCs are additionally constrained by their operating status and by their ability to ramp power output between time periods. The model also limits increases and decreases to the inventories of electric and thermal energy for the batteries and water storage tank, respectively. Finally, we include a number of constraints to control the complex interactions between the technologies which are acquired and operated within the system.

2.2 Mathematical formulation

We now present the mathematical formulation of our problem, henceforth referred to as \((\mathcal{P})\). In general, we use lower-case letters for parameters and upper-case letters for variables. However, we also use lower-case letters for indices and upper-case script letters for sets. Superscripts and accents distinguish between parameters and variables that utilize the same base letter, while subscripts identify elements of a set. Some parameters and variables are only defined for certain set elements, which are listed in each definition. The units of each parameter and variable are provided in brackets after its definition. Throughout the definitions, “technology” is abbreviated as “tech.”, “average” is abbreviated as “avg.”, and “respectively” is abbreviated as “resp.”

  • Sets

    • \(n \in\mathcal{N}\): set of all months

    • \(t \in\mathcal{T}_{n}\): set of all hours in month n (\(\mathcal {T}=\bigcup_{n}\mathcal{T}_{n}\))

    • \(i \in\mathcal{I}\): set of all cost elements

    • \(j \in\mathcal{J}\): set of all techs.

      Note: To avoid verbosity, we define the elements of \(\mathcal{J}\) numerically as 1 = Battery, 2 = PV, 3 = Power SOFC, 4 = CHP SOFC, 5 = Storage Tank, 6 = Boiler.

  • Time and demand parameters

    • δ = demand time increment [hours]

    • \(d^{P}_{t}, d^{H}_{t}\) = avg. power and heat demand, resp., in hour t [kW]

  • Cost and emissions parameters

    • c j = amortized capital cost of each tech. j=1,…,5 [$/kWh, $/kW, or $/gal]

    • m j = avg. O&M cost of each tech. j=2,3,4,6 [$/kWh]

    • p t ,g t = price of power and gas, resp., from the utility in hour t [$/kWh]

    • \(p^{\mathrm{max}}_{n}\) = peak demand price of power from the utility in month n [$/kW/month]

    • z = tax on carbon emissions [$/kg]

    • z p,z g = avg. carbon emissions rate for power and gas, resp. [kg/kWh]

  • Power generation and storage parameters

    • \(k^{\mathrm{out}}_{j}, k^{\mathrm{in}}_{j}\) = power rating out of and into, resp., each tech. j=1,…,4 [kW]

    • \(s^{\mathrm{max}}_{j},s^{\mathrm{min}}_{j}\) = max and min, resp., storage capacity of tech. j=1 [kWh]

    • a jt = avg. availability of tech. j=2 based on weather in hour t [fraction]

    • μ j = max turn-down (i.e., min power output) of each tech. j=3,4 [fraction]

    • σ j = start-up time for each tech. j=3,4 to reach μ j [hours]

    • \(r^{\mathrm{up}}_{j},r^{\mathrm{down}}_{j}\) = max ramp-up and down rate, resp., for each tech. j=3,4 [kW/hr]

    • \(\eta^{\mathrm{max}}_{j},\eta^{\mathrm{min}}_{j}\) = max and min, resp., electric efficiency of each tech. j=1,3,4 [fraction]

  • Heat generation and storage parameters

    • \(v^{\mathrm{max}}_{j},v^{\mathrm{min}}_{j}\) = max and min, resp., storage capacity of tech. j=5 [gallons]

    • η j = avg. thermal efficiency of each tech. j=5,6 [fraction]

    • α j = mean ambient heat loss of water stored in tech. j=5 [fraction]

    • γ j = avg. exhaust gas output from tech. j=4 per natural gas input [kg/kWh]

    • h j = specific heat of fluid output from each tech. j=4,5 [kWh/(kg °C) or kWh/(gal °C)]

    • \(\tau^{\mathrm{out}}_{j},\tau^{\mathrm{in}}_{j}\) = avg. fluid temperature out of and into, resp., each tech. j=4,5,6 [°C]

    • τ max,τ min = max and min, resp., temperature of water in the system [°C]

  • System design variables

    • C i = total cost of cost element i over the time horizon [$]

    • A j = number of each tech. j=1,…,5 acquired [integer]

    • V j = water storage capacity of tech. j=5 [gallons]

  • Power dispatch and storage variables

    • \(U^{\mathrm{out}}_{t},U^{\mathrm{in}}_{t}\) = power purchased from and sold to the utility, resp., in hour t [kW]

    • \(U^{\mathrm{max}}_{n}\) = max power purchased from the utility in month n [kW]

    • \(P^{\mathrm{out}}_{jt}\) = aggregate power output from each tech. j=1,…,4 in hour t [kW]

    • \(P^{\mathrm{in}}_{jt}\) = aggregate power input to tech. j=1 in hour t [kW]

    • S jt = aggregate state-of-charge of tech. j=1 at the start of hour t [kWh]

    • N jt = number of each tech. j=3,4 operating in hour t [integer]

    • \(\acute{N}_{jt}\) = increased number of each tech. j=3,4 operating from t−1 to t [integer]

    • E jt = electric efficiency of each tech. j=3,4 operating in hour t [fraction]

  • Heat dispatch and storage variables

    • G jt = aggregate natural gas input to each tech. j=3,4,6 in hour t [kW]

    • \(F^{\mathrm{out}}_{jt}\) = flowrate of water out of tech. j=5 in hour t [gal/hr]

    • \(F^{\mathrm{in}}_{jt}\) = flowrate of exhaust gas into tech. j=5 in hour t [kg/hr]

    • T jt = temperature of water stored in technology j=5 in hour t [°C]

    • \(B^{\mathrm{in}}_{jt}= 1\) if water in tech. j=5 is above \((\tau^{\mathrm{in}}_{5}+ \varepsilon)\) in hour t, 0 otherwise [binary]

    • \(B^{\mathrm{out}}_{jt}= 1\) if water in tech. j=5 is above \(\tau^{\mathrm{out}}_{6}\) in hour t, 0 otherwise [binary]

  • Problem \((\mathcal{P})\) (see Sect. 2.3.1—Minimum total cost)

    Minimize

    $$\begin{aligned} \sum_{i \in\mathcal{I}} C_i \end{aligned}$$
    (1)

    subject to (see Sect. 2.3.2—Power and heat demand)

    $$\begin{aligned} &\bigl(\eta^{\mathrm{max}}_1P^{\mathrm{out}}_{1t}-P^{\mathrm{in}}_{1t} \bigr) + \sum_{j=2..4} P^{\mathrm{out}}_{jt} + \bigl(U^{\mathrm{out}}_t - U^{\mathrm {in}}_t\bigr) = d^P_t \quad \forall t \in\mathcal{T} \end{aligned}$$
    (2a)
    $$\begin{aligned} &h_5 \bigl(\tau^{\mathrm{out}}_6-\tau^{\mathrm{in}}_5 \bigr) F^{\mathrm{out}}_{5t} \biggl[ \biggl(1- \biggl[1-\frac{\tau^{\mathrm{out}}_6-\tau^{\mathrm {min}}}{T_{5t} - \tau^{\mathrm{min}}} \biggr] B^{\mathrm{out}}_{5t} \biggr)^{-1} \biggr] = d^H_t \quad \forall t \in\mathcal{T} \end{aligned}$$
    (2b)

    (see Sect. 2.3.3—Utility restrictions)

    $$\begin{aligned} &U^{\mathrm{max}}_n \geq U^{\mathrm{out}}_t \quad \forall n \in\mathcal{N},t \in\mathcal{T}_n \end{aligned}$$
    (3a)
    $$\begin{aligned} &\sum_{t \in\mathcal{T}_n} U^{\mathrm{in}}_t \leq \sum_{t \in\mathcal {T}_n} U^{\mathrm{out}}_t \quad \forall n \in\mathcal{N} \end{aligned}$$
    (3b)

    (see Sect. 2.3.4—Power capacity)

    $$\begin{aligned} & P^{\mathrm{out}}_{1t} \leq k^{\mathrm{out}}_1 A_1 \quad \forall t \in\mathcal{T} \end{aligned}$$
    (4a)
    $$\begin{aligned} & P^{\mathrm{in}}_{1t} \leq k^{\mathrm{in}}_1 A_1 \quad \forall t \in\mathcal{T} \end{aligned}$$
    (4b)
    $$\begin{aligned} & P^{\mathrm{out}}_{2t} \leq a_{2t}k^{\mathrm{out}}_2 A_2 \quad \forall t \in\mathcal{T} \end{aligned}$$
    (4c)
    $$\begin{aligned} &\mu_jk^{\mathrm{out}}_j N_{jt} \leq P^{\mathrm{out}}_{jt} \leq k^{\mathrm{out}}_j N_{jt}\quad \forall j=3,4, t \in\mathcal {T} \end{aligned}$$
    (4d)
    $$\begin{aligned} & N_{jt} \leq A_j \quad \forall j=3,4, t \in \mathcal{T} \end{aligned}$$
    (4e)

    (see Sect. 2.3.5—Electric efficiency)

    $$\begin{aligned} E_{jt} =& \biggl(\frac{\eta^{\mathrm{max}}_j-\mu_j \eta^{\mathrm {min}}_j}{1- \mu_j} \biggr) - \biggl(\frac{\eta^{\mathrm{max}}_j-\eta ^{\mathrm{min}}_j}{k^{\mathrm{out}}_j(1- \mu_j)} \biggr) \biggl(\frac {P^{\mathrm{out}}_{jt}}{N_{jt}} \biggr) \quad \forall j=3,4, t \in \mathcal{T} \end{aligned}$$
    (5a)

    (see Sect. 2.3.6—Natural gas consumption)

    $$\begin{aligned} &G_{jt}= \frac{P^{\mathrm{out}}_{jt}}{E_{jt}} \quad \forall j=3,4, t \in \mathcal{T} \end{aligned}$$
    (6a)
    $$\begin{aligned} &G_{6t} = \frac{h_5F^{\mathrm{out}}_{5t} (\tau^{\mathrm{out}}_6 - T_{5t})(1-B^{\mathrm{out}}_{5t})}{\eta_6}\quad \forall t \in \mathcal{T} \end{aligned}$$
    (6b)

    (see Sect. 2.3.7—Start up and ramping)

    $$\begin{aligned} & N_{j,t+1} - N_{jt} \leq\acute{N}_{j,t+1} \quad \forall j=3,4, t < |\mathcal{T}| \end{aligned}$$
    (7a)
    $$\begin{aligned} &- \delta r^{\mathrm{down}}_j N_{jt} \leq P^{\mathrm{out}}_{j,t+1} - P^{\mathrm{out}}_{jt} \leq\delta r^{\mathrm{up}}_j N_{j,t+1}\quad \forall j=3,4, t < |\mathcal{T}| \end{aligned}$$
    (7b)

    (see Sect. 2.3.8—Power storage)

    $$\begin{aligned} &S_{1,t+1} - S_{1t} = \delta\bigl(\eta^{\mathrm{max}}_1 P^{\mathrm {in}}_{1t} - P^{\mathrm{out}}_{1t}\bigr) \quad \forall t < |\mathcal {T}| \end{aligned}$$
    (8a)
    $$\begin{aligned} &s^{\mathrm{min}}_1 A_1 \leq S_{1t} \leq s^{\mathrm{max}}_1 A_1 \quad \forall t \in \mathcal{T} \end{aligned}$$
    (8b)
    $$\begin{aligned} &S_{1,1} = S_{1,|\mathcal{T}|} \end{aligned}$$
    (8c)

    (see Sect. 2.3.9—Heat capacity)

    $$\begin{aligned} F^{\mathrm{in}}_{5t} \leq& \gamma_4 G_{4t} \quad \forall t \in\mathcal{T} \end{aligned}$$
    (9a)

    (see Sect. 2.3.10—Heat storage)

    $$\begin{aligned} &T_{5,t+1} - \bigl(1-\alpha_5 B^{\mathrm{in}}_{5t} \bigr)T_{5t} \\ &\quad {} = \frac{\delta\eta _5 h_4 F^{\mathrm{in}}_{5t} (\tau^{\mathrm{out}}_4 - T_{5t}) - \delta h_5 F^{\mathrm{out}}_{5t}(T_{5t}-\tau^{\mathrm{in}}_5)}{h_5 V_5} \quad \forall t < |\mathcal{T}| \end{aligned}$$
    (10a)
    $$\begin{aligned} &T_{5t}-\tau^{\mathrm{in}}_5 \leq\bigl(\tau^{\mathrm{max}} - \tau^{\mathrm {in}}_5\bigr) A_5 \quad \forall t \in\mathcal{T} \end{aligned}$$
    (10b)
    $$\begin{aligned} &\varepsilon B^{\mathrm{in}}_{5t} \leq T_{5t}- \tau^{\mathrm{in}}_5 \leq \varepsilon+ \bigl(\tau^{\mathrm{max}} - \tau^{\mathrm{in}}_5 - \varepsilon \bigr) B^{\mathrm{in}}_{5t} \quad \forall t \in\mathcal{T} \end{aligned}$$
    (10c)
    $$\begin{aligned} &\bigl(\tau^{\mathrm{in}}_5 - \tau^{\mathrm{out}}_6 \bigr) \bigl(1-B^{\mathrm{out}}_{5t}\bigr) \leq T_{5t}- \tau^{\mathrm{out}}_6 \leq\bigl(\tau^{\mathrm{max}} - \tau ^{\mathrm{out}}_6\bigr) B^{\mathrm{out}}_{5t} \quad \forall t \in \mathcal{T} \end{aligned}$$
    (10d)
    $$\begin{aligned} &T_{5,1} = T_{5,|\mathcal{T}|} \end{aligned}$$
    (10e)

    (see Sect. 2.3.11—Heat storage acquisition)

    $$\begin{aligned} &A_5 \leq A_4 \leq \biggl\lceil\frac{\max_{t \in\mathcal {T}}\lbrace d_t^P\rbrace}{k^{\mathrm{out}}_4} \biggr\rceil A_5 \end{aligned}$$
    (11a)
    $$\begin{aligned} &v^{\mathrm{min}}_5 \leq V_5 \leq v^{\mathrm{max}}_5 \end{aligned}$$
    (11b)

    (see Sect. 2.3.12—Non-negativity and integrality)

    $$\begin{aligned} &P^{\mathrm{out}}_{jt},P^{\mathrm{in}}_{jt},S_{jt}, \acute {N}_{jt},E_{jt},G_{jt},F^{\mathrm{out}}_{jt},F^{\mathrm {in}}_{jt},T_{jt},V_j \geq 0 \quad \forall j \in\mathcal {J},t \in\mathcal{T} \end{aligned}$$
    (12a)
    $$\begin{aligned} &U^{\mathrm{out}}_t,U^{\mathrm{in}}_t,U^{\mathrm{max}}_n \geq 0 \quad \forall n \in\mathcal{N}, t \in\mathcal{T} \end{aligned}$$
    (12b)
    $$\begin{aligned} &A_j,N_{jt} \geq0, \ \text{integer} \quad \forall j \neq 5, t \in\mathcal{T} \end{aligned}$$
    (12c)
    $$\begin{aligned} &A_j,B^{\mathrm{in}}_{jt},B^{\mathrm{out}}_{jt}, \ \text{binary}, \quad \forall j=5,t \in\mathcal{T} \end{aligned}$$
    (12d)

2.3 Detailed discussion of formulation

Next, we discuss the objective function and constraints of \((\mathcal {P})\) in more detail.

2.3.1 Minimum total cost

The objective is to minimize the total cost over the entire time horizon. The total cost expressed in the objective function (1) includes the capital and operational costs of the acquired technologies, as well as the existing operational costs resulting from demand met by the macrogrid and boiler.

The fixed capital cost, C 1, consists of the total amortized cost of all the DG technologies that are acquired:

$$\begin{aligned} C_1 =& c_1s^{\mathrm{max}}_1A_1 + \sum_{j=2..4}c_jk^{\mathrm {out}}_jA_j + c_5\bigl(V_5-v^{\mathrm{min}}_5\bigr). \end{aligned}$$

The capital cost of the CHP SOFCs is greater than that of the power-only SOFCs in order to account for the acquisition of the water storage tank and heat exchangers. The water tank’s initial size (\(v^{\mathrm{min}}_{5}\)) is based on the building heating load. However, the tank size can be increased for an additional cost per gallon.

The initial capital cost for each of the technologies can be amortized in a number of different ways. One method of amortization uses the parameters and general equation that follow:

  • ρ = interest rate [% (fraction) per time horizon]

  • λ j = average lifetime of technology j [number of time horizons]

  • κ j = initial capital cost of technology j [$/kWh, $ /kW, or $/gal]

$$\begin{aligned} c_j =& \frac{\kappa_j e^{\rho\lambda_j}}{\lambda_j}. \end{aligned}$$
(13)

The numerator of Eq. (13) calculates what κ j is eventually worth after investment at interest rate ρ over the average lifetime λ j of technology j (see Nicholson and Snyder 2008). Thus, the numerator represents the lifetime opportunity cost of acquiring the technology rather than investing the initial capital cost at the current rate of return. The lifetime opportunity cost is then divided by λ j to determine the opportunity cost per time horizon, which we call the amortized capital cost c j . Ultimately, the primary focus of this research is not on the method of amortization. Rather, the final amortized cost (c j ) is the value of interest. Equation (13) is just one method for calculating that cost, without loss of generality.

The variable operational costs of the DG system consist of O&M costs for the PV cells and SOFCs, the cost of natural gas to fuel the SOFCs, the cost of the carbon emissions associated with the combustion of natural gas, and the negative cost (i.e., revenue) from the sale of power to the macrogrid. The O&M costs, C 2, for the PV cells and SOFCs increase with the energy output:

$$\begin{aligned} C_2 =& \sum_{j=2..4,t} m_j \delta P^{\mathrm{out}}_{jt}. \end{aligned}$$

The O&M cost for the CHP SOFCs is greater than that for the power-only SOFCs to account for the additional operational costs of the water tank and heat exchangers. Due to the limited need for variable maintenance on lead-acid battery systems, the O&M costs for the batteries are assumed fixed and are treated as part of the capital cost. The parameter δ is included to appropriately convert units of power (kW) to units of energy (kWh).

Fuel and emissions costs, C 3, are incurred both to start up the SOFCs (i.e., to reach operating temperature) and to operate them within their performance limits. These costs depend on the price (g t ) of natural gas from the local utility, the price (zz g) of carbon emissions, as determined by the tax rate and the emissions rate, and the total amount of gas required for start up and operation:

$$\begin{aligned} C_3 =& \sum_{j=3..4,t} \bigl(g_t+zz^g\bigr) \biggl[\frac{\sigma_j \mu_j k_j}{2\eta ^{\mathrm{min}}_j} \acute{N}_{jt} + \delta G_{jt} \biggr]. \end{aligned}$$

Our formulation assumes a carbon tax exists where the building is located and that the tax is paid by the building owner. We further assume that the SOFCs consume natural gas with the same fixed electric efficiency during start up as at maximum power output. Thus, the amount of gas required for a single SOFC to reach operating temperature is treated as a fixed value. The variable \(\acute{N}_{jt}\) determines how many SOFCs start up in a given time period, which allows for the calculation of the total amount of gas required. Once an SOFC reaches operating temperature, the amount of natural gas (G jt ) consumed depends on the power output and the electric efficiency as defined in constraint (6a).

The final operational cost for the DG technologies is the negative cost, C 4, associated with the sale of power to the macrogrid:

$$\begin{aligned} C_4 =& - \sum_t p_t \delta U^{\mathrm{in}}_t. \end{aligned}$$

We assume that net-metering is available with the local power utility and that the utility can purchase power from the building owner in any hour at the prevailing market rate. However, the total power purchased by the utility in each billing cycle is subject to the restrictions imposed by constraint (3b).

In addition to the capital and operational costs of the acquired DG technologies, the system incurs the cost of electricity purchased from the macrogrid and the operational costs for the boiler. If DG technologies are not acquired, then the macrogrid and boiler costs are the only costs. The macrogrid charges both hourly and peak monthly rates, which determine the total electricity cost, C 5:

$$\begin{aligned} C_5 =& \sum_t \bigl(p_t+zz^p\bigr) \delta U^{\mathrm{out}}_t + \sum_n p^{\mathrm {max}}_n U^{\mathrm{max}}_n. \end{aligned}$$

Depending on the rate schedule dictated by the power utility for the building and location of interest, the charges p t and \(p^{\mathrm {max}}_{n}\) could vary by time-of-day and/or season. We must also consider the cost of the carbon emitted by the generation sources employed by the macrogrid. Our formulation applies an average carbon emissions rate (z p) for all of the macrogrid’s generation sources and assumes that the building owner is taxed for the emissions associated with the purchased electricity. For both natural gas and power utilities, the fixed monthly customer charge for service is not included in the formulation since this cost is constant and therefore does not impact the optimal solution.

Finally, the total cost includes the O&M, fuel, and emissions costs, C 6, for the existing boiler:

$$\begin{aligned} C_6 =& \sum_t \bigl( \eta_6m_6+ g_t+zz^g\bigr) \delta G_{6t}. \end{aligned}$$

Similar to the SOFCs, the fuel and emissions costs depend on the price of natural gas and the price of carbon emissions. In contrast to the SOFCs, the average thermal efficiency (η 6) of the boiler is treated as fixed. The amount of natural gas (G 6t ) consumed depends on whether the temperature of the water flowing to the boiler is above or below the required delivery temperature. The relationship between the water temperature and the amount of natural gas consumed by the boiler is defined in constraint (6b).

2.3.2 Power and heat demand

Constraint (2a) ensures that the hourly demand for power is met by the net discharge of the batteries (after accounting for the discharge efficiency \(\eta^{\mathrm{max}}_{1}\)), the PV cells, the power-only and CHP SOFCs, and the net supply from the macrogrid. Constraint (2b) dictates that the hourly demand for heat must be met by a mix of hot and cold water flow. The demanded hot water, which is heated by the CHP SOFC exhaust and/or by the boiler, must be delivered at a fixed temperature (\(\tau^{\mathrm{out}}_{6}\)). If the temperature of the hot water is above delivery temperature (i.e., \(B^{\mathrm{out}}_{5t}=1\)), then the hot water must be mixed with cold water at the minimum system temperature (τ min). As the temperature of the tank water increases, the required flow of cold water for mixing increases, and the required flow of hot water from the tank decreases.

2.3.3 Utility restrictions

Constraint (3a) establishes the peak power load supplied by the macrogrid in each monthly billing cycle as the largest hourly load supplied by the macrogrid each month. Constraint (3b) dictates that the DG system cannot be a “net-generator” of power in each monthly billing cycle. Accordingly, the total power sold to the macrogrid each month cannot exceed the total power purchased from the macrogrid each month.

2.3.4 Power capacity

Constraints (4a) and (4b) limit the rate at which power is discharged from and charged to, respectively, all of the acquired batteries. If batteries are not acquired, then the charge and discharge rates are set equal to zero. Constraint (4c) ensures that only a fraction (a 2t ) of the nameplate power capacity of the acquired PV cells is available in each hour, based on the prevailing weather conditions. Because the solar radiation is often low enough that the available power from PV cells is zero (e.g., during the night), there is no minimum power output enforced for PV cells. Constraint (4d) limits the maximum and minimum power output of all operating SOFCs in a given hour. The maximum turn-down (μ j ) results from the minimum operating temperature necessary for the SOFCs to produce power. Constraint (4e) dictates that the number of SOFCs operating in a given hour cannot exceed the number acquired. Power supplied by the macrogrid in each hour is unconstrained in this formulation.

2.3.5 Electric efficiency

Constraint (5a) demonstrates that the average electric efficiency across all SOFCs is a function of the number (N jt ) of SOFCs operating and the total power (\(P^{\mathrm{out}}_{jt}\)) they produce. Our formulation assumes that each operating SOFC provides an equal share of the total power produced in a given hour. Using the maximum (\(\eta^{\mathrm{max}}_{j}\)) and minimum (\(\eta^{\mathrm{min}}_{j}\)) electric efficiencies as endpoints, we treat the average electric efficiency of all SOFCs as a decreasing linear function of the share of total power provided by a single SOFC.

2.3.6 Natural gas consumption

Constraint (6a) dictates that the total amount of natural gas consumed by all of the operating power-only or CHP SOFCs in each hour is the quotient of their total power output and their average electric efficiency. Constraint (6b) calculates the amount of natural gas consumed by the boiler in each hour as the quotient of its heat output and its average thermal efficiency. The amount of heat the boiler must provide depends on the temperature (T 5t ) of the water from the storage tank, if one is acquired. We assume the hot water must be delivered to the building’s faucets and radiators at a fixed temperature (\(\tau^{\mathrm{out}}_{6}\)). If the temperature of the water from the storage tank is below \(\tau^{\mathrm {out}}_{6}\) in a given hour (i.e., \(B^{\mathrm{out}}_{5t}=0\)), then the boiler must provide the additional heat to increase the water temperature to \(\tau^{\mathrm{out}}_{6}\). In this case, the amount of heat is calculated as the product of the specific heat of the tank water (h 5), the flowrate of the tank water (\(F^{\mathrm {out}}_{5t}\)), and the difference (\(\tau^{\mathrm{out}}_{6} - T_{5t}\)) between the delivery temperature and the tank water temperature. If the temperature of the water from the storage tank is at or above \(\tau ^{\mathrm{out}}_{6}\) in a given hour (i.e., \(B^{\mathrm{out}}_{5t}=1\)), then no additional heating from the boiler is required. If a storage tank is not acquired, then the boiler must provide all of the heat demand, which entails heating all of the water from the average return temperature (\(\tau^{\mathrm{in}}_{5}\)) up to delivery temperature (\(\tau ^{\mathrm{out}}_{6}\)).

2.3.7 Start up and ramping

Constraint (7a) establishes the number of SOFCs that start up between time periods t and t+1. If there is an increase in the number of operating SOFCs between time periods (i.e., N j,t+1>N jt ), then a positive number (\(\acute{N}_{j,t+1}\)) of SOFCs incur the cost of fuel for start up. The cost-minimizing objective induces any solution to set \(\acute{N}_{j,t+1}\) to the smallest value allowable, given the constraints. Thus, in each hour t, \(\acute {N}_{j,t+1}\) is set equal to N j,t+1N jt when N j,t+1>N jt and zero otherwise (i.e., \(\acute{N}_{j,t+1}=\max\{ N_{j,t+1} - N_{jt},0\}\)). Given this equality and the integrality restrictions on N jt , we obtain integer values for \(\acute{N}_{jt}\) without including such a constraint in the model.

According to constraint (7b), if SOFC power output increases from hour t to hour t+1 (i.e., \(P^{\mathrm{out}}_{j,t+1} > P^{\mathrm{out}}_{jt}\)), then it cannot increase by more than the total ramp-up capacity of all the SOFCs that are operating in hour t+1. Similarly, if SOFC power output decreases between consecutive hours (i.e., \(P^{\mathrm{out}}_{j,t+1} < P^{\mathrm{out}}_{jt}\)), then it cannot decrease by more than the total ramp-down capacity of the SOFCs operating in hour t. The parameter δ is included to properly convert units from kW/h to kW.

2.3.8 Power storage

Constraint (8a) demonstrates that the change in the inventory of energy in the acquired batteries from the start of hour t to the start of hour t+1 is determined by the net power added to the batteries in hour t (after accounting for the charge efficiency \(\eta^{\mathrm{max}}_{1}\)). The parameter δ is included to convert units from kW to kWh. According to constraint (8b), the energy in all of the acquired batteries at the start of any hour must remain within the total minimum and maximum state-of-charge. If batteries are not acquired, then the total state-of-charge is set equal to zero in all hours. Constraint (8c) requires the batteries to attain the same state-of-charge in the final time period as in the initial time period.

2.3.9 Heat capacity

The water in the storage tank is heated with the exhaust gas from the CHP SOFCs. Thus, constraint (9a) limits the maximum flowrate of hot exhaust gas into the water tank in each hour to the exhaust gas output by the CHP SOFCs. The exhaust gas output depends on the flow of natural gas into the CHP SOFCs, which is calculated in constraint (6a). For time periods in which the use of all of the available exhaust gas would cause the tank water temperature to exceed its maximum, we assume the excess exhaust gas is vented. We further assume that the boiler is sized to meet the peak heat load of the building. Thus, the maximum capacity of the boiler is unconstrained in our formulation.

2.3.10 Heat storage

Constraint (10a) demonstrates that the change in the temperature of the tank water from the start of hour t to the start of hour t+1 (after accounting for heat loss to the ambient) is determined by the net thermal energy added to the water in hour t and the heat capacity of the water. Though in reality the ambient heat loss is a function of the temperature difference between the tank water and the ambient, we apply a fixed heat loss factor (α 5) for simplicity. However, the ambient heat loss factor only applies if the tank water temperature is above the average temperature of the water upon return to the tank (i.e., \(B^{\mathrm{in}}_{5t}=1\)). The thermal energy added to the tank is the product of the time increment (δ), the heat exchanger efficiency (η 5), the specific heat (h 4) and flowrate (\(F^{\mathrm{in}}_{5t}\)) of the CHP SOFC exhaust gas, and the temperature difference (\(\tau^{\mathrm{out}}_{4}-T_{5t}\)) between the exhaust gas and the tank water. The thermal energy removed from the tank is the product of the time increment (δ), the specific heat (h 5) and flowrate (\(F^{\mathrm{out}}_{5t}\)) of the tank water, and the temperature difference (\(T_{5t}-\tau^{\mathrm{in}}_{5}\)) between the tank water and the return water. The net thermal energy added to the water is divided by the heat capacity (h 5 V 5) of the volume of water to determine the net temperature change.

Constraint (10b) demonstrates the impact of not acquiring a storage tank. If a tank is not acquired (i.e., A 5=0), then the “tank” water is reduced to the temperature of the return water in every hour. As a result, all of the water must be heated to delivery temperature by the boiler. If a tank is acquired, then the water in the tank is limited to the maximum temperature (τ max) in all hours. Constraint (10c) determines whether the tank water temperature is arbitrarily close (within ε) to the return water temperature. This constraint establishes the value of the binary variable (\(B^{\mathrm{in}}_{5t}\)) which controls the temperature decay due to heat loss to the ambient. Constraint (10d) determines whether the tank water is above or below the hot water delivery temperature. This constraint establishes the value of the binary variable (\(B^{\mathrm{out}}_{5t}\)) which controls the need for additional heating from the boiler or for mixing with cold water. Constraint (10e) requires the tank water to attain the same temperature in the final time period as in the initial time period.

2.3.11 Heat storage acquisition

Constraint (11a) ensures that a water tank is acquired if and only if at least one CHP SOFC is acquired. We use a conservative upper bound on the number of CHP SOFCs acquired to control this if-and-only-if relationship between the binary variable A 5 and the integer variable A 4. Constraint (11b) bounds the selected capacity for the water storage tank based on the heat demands of the building of interest. The lower bound on the tank size is the initial capacity, the cost of which is included in the acquisition of CHP SOFCs.

2.3.12 Non-negativity and integrality

Finally, constraints (12a)–(12d) ensure all of the variables in our formulation assume non-negative values. In addition to non-negativity restrictions, constraints (12c) and (12d) establish the integrality of the appropriate variables.

3 Solving the MINLP

In this section, we discuss the mathematical structure of \((\mathcal {P})\), as well as the lower and upper bounding techniques we develop to solve instances of \((\mathcal{P})\).

3.1 Mathematical structure

\((\mathcal{P})\) has a linear objective, \(22 |\mathcal{T}| + |\mathcal {N}|+4\) variables (\(2 |\mathcal{T}| +4\) general integer, \(2 |\mathcal {T}| +1\) binary), and \(33 |\mathcal{T}| + |\mathcal{N}| -2\) constraints (\(7|\mathcal{T}|-1\) nonlinear), not including non-negativity and integrality restrictions. Table 1 lists the number of variables and constraints contained in \((\mathcal{P})\) for various time horizons at the hourly level of fidelity.

Table 1 Size of \((\mathcal{P})\) instances for time horizons of interest

Upon expanding and rearranging nonlinear constraints (2b), (5a), (6a), (6b), and (10a), and suppressing the linear terms, we find that all of the nonlinearities in \((\mathcal{P})\) consist of bilinear and trilinear terms in equality constraints (see below). Thus, the constraint set is nonconvex.

$$\begin{aligned} &\mathrm{Linear}+h_5 \bigl(\tau^{\mathrm{out}}_6- \tau^{\mathrm{in}}_5\bigr) F^{\mathrm{out}}_{5t}T_{5t} + d^H_tT_{5t}B^{\mathrm{out}}_{5t} = 0 \\ &\mathrm{Linear} + N_{jt} E_{jt} = 0 \\ &\mathrm{Linear} + G_{jt} E_{jt} = 0 \\ &\mathrm{Linear} + (h_5/\eta_6) \bigl( \tau^{\mathrm{out}}_6F^{\mathrm {out}}_{5t}B^{\mathrm{out}}_{5t} + F^{\mathrm{out}}_{5t}T_{5t} - F^{\mathrm{out}}_{5t}T_{5t}B^{\mathrm{out}}_{5t} \bigr) = 0 \\ &\mathrm{Linear} + h_5 \bigl(V_5T_{5,t+1} - V_5T_{5t}+\alpha_5 V_5T_{5t}B^{\mathrm{in}}_{5t} + \delta F^{\mathrm{out}}_{5t}T_{5t}\bigr) +\delta \eta_5 h_4 F^{\mathrm{in}}_{5t}T_{5t} = 0 \end{aligned}$$

Ultimately, in order to support long-term capital investment decisions, we wish to determine a DG system design and dispatch that meets the demands of a building for a typical year at the globally minimum total cost. However, the application of a nonlinear branch-and-bound algorithm to solve such a problem requires methods for determining global upper and lower bounds on the objective value. When applied to an integer-restricted minimization problem, branch-and-bound generates a non-increasing sequence of global upper bounds on the objective value and a non-decreasing sequence of global lower bounds on the objective value which eventually converge (within some tolerance) to provide the optimal solution. In general, global upper bounds are provided by integer-feasible solutions obtained with local solvers and global lower bounds are provided by solutions to continuous relaxations of the integer problem. Both types of bounds can be difficult to obtain for large, nonconvex MINLPs. Our testing indicates few existing MINLP solvers are capable of finding solutions to one-day instances of \((\mathcal{P})\), and none of those tested can provide solutions for time horizons greater than one week. Additionally, the nonconvex nature of \((\mathcal{P})\) dictates that solutions to continuous relaxations do not necessarily provide global lower bounds. Accordingly, the next two sections discuss our techniques to obtain lower and upper bounds which can be applied in a nonlinear branch-and-bound algorithm.

3.2 Lower bounding: convex underestimation

A lower bound for a mixed-integer linear programming (MILP) minimization problem is obtained by relaxing the integrality restrictions and solving the resulting continuous problem. A lower bound for an MINLP minimization problem can also be obtained in this manner as long as the problem is convex. However, nonconvex problems provide no guarantee of obtaining a global lower bound when solving the NLP relaxation. Thus, we formulate a convex underestimation problem, henceforth referred to as \((\mathcal{U})\), to obtain a global lower bound on \((\mathcal{P})\).

Convex underestimation methods similar to those suggested by McCormick (1976) are still applied in the literature today. Indeed, this classical idea has been adapted for use in some state-of-the-art software (Sahinidis 1996), and results have been reported in Tawarmalani and Sahinidis (2003) and Bao et al. (2009). According to Eqs. (3) and (4) of Adjiman and Floudas (2008), bilinear and trilinear terms, respectively, are underestimated by their convex envelope. The convex envelopes are constructed by replacing each of the nonlinear terms with a new variable and adding linear inequality constraints that bound the new variable. Bilinear terms require four constraints on the new variable while trilinear terms require eight constraints. Considering some of our nonlinear terms are repeated across constraints, \((\mathcal{P})\) contains \(9|\mathcal{T}|-1\) distinct bilinear terms and \(2|\mathcal{T}|-1\) distinct trilinear terms that must be replaced with new variables. Accordingly, the \((\mathcal {U})\) formulation is identical to \((\mathcal{P})\) with the exceptions of adding \(11|\mathcal{T}|-2\) new continuous variables, replacing each of the bilinear and trilinear terms with the appropriate new continuous variable, and adding \(52|\mathcal{T}| - 12\) new linear constraints. Hence, \((\mathcal{U})\) is an MILP, the solution to which provides a global lower bound on the optimal solution to \((\mathcal{P})\).

The formulation of the convex envelopes in \((\mathcal{U})\) requires the following upper and lower bounds on each of the original variables in the bilinear and trilinear terms:

  • Variable bounds applied in \((\mathcal{U})\)

    $$ \begin{aligned} &0 \leq N_{jt} \leq \biggl\lceil\frac{\max_{t \in\mathcal {T}}\lbrace d_t^P\rbrace}{k^{\mathrm{out}}_j} \biggr\rceil \\ &0 \leq G_{jt} \leq \biggl(\frac{k^{\mathrm{out}}_j}{\eta^{\mathrm {min}}_j} \biggr) \biggl\lceil \frac{\max_{t \in\mathcal{T}} \lbrace d_t^P\rbrace}{k^{\mathrm{out}}_j} \biggr\rceil \\ &0 \leq F^{\mathrm{in}}_{5t} \leq\gamma_4 \biggl( \frac{k^{\mathrm {out}}_4}{\eta^{\mathrm{min}}_4} \biggr) \biggl\lceil\frac{\max_{t \in\mathcal{T}} \lbrace d_t^P\rbrace}{k^{\mathrm{out}}_4} \biggr\rceil \\ &\eta^{\mathrm{min}}_j \leq E_{jt} \leq \eta^{\mathrm{max}}_j \\ &\biggl(\frac{\tau^{\mathrm{out}}_6-\tau^{\mathrm{min}}}{\tau^{\mathrm {max}}-\tau^{\mathrm{min}}} \biggr) \biggl(\frac{d^H_t}{h_5 (\tau ^{\mathrm{out}}_6-\tau^{\mathrm{in}}_5)} \biggr) \leq F^{\mathrm {out}}_{5t} \leq \biggl(\frac{d^H_t}{h_5 (\tau^{\mathrm{out}}_6-\tau ^{\mathrm{in}}_5)} \biggr) \\ &\tau^{\mathrm{in}}_5 \leq T_{5t} \leq \tau^{\mathrm{max}} \\ &0 \leq B^{\mathrm{in}}_{5t} \leq1 \\ &0 \leq B^{\mathrm{out}}_{5t} \leq1 \\ &v^{\mathrm{min}}_5 \leq V_5 \leq v^{\mathrm{max}}_5. \end{aligned}$$
    (14)

The number of SOFCs operating (N jt ) in any hour is bounded above by the number of SOFCs acquired, according to constraint (4e). We apply a conservative upper bound on the number of SOFCs acquired by assuming the building owner never buys more SOFCs than what is required to supply the peak power load without assistance from the macrogrid. This upper bound on the number of SOFCs acquired also limits the maximum amount of natural gas (G jt ) fed to the SOFCs in any hour, according to constraints (4d), (5a), and (6a), and the maximum flowrate (\(F^{\mathrm{in}}_{5t}\)) of CHP SOFC exhaust heat into the water tank, according to constraint (9a). The electric efficiency (E jt ) of the SOFCs is bounded above and below by the maximum and minimum efficiencies, respectively, according to constraint (5a). The flowrate (\(F^{\mathrm{out}}_{5t}\)) of heated water out of the tank is bounded above by the demand flowrate with no cold water mixing and bounded below by the demand flowrate with the maximum cold water mixing, according to constraints (2b) and (10d). The temperature (T 5t ) of the water in the tank is bounded above and below by the maximum and return temperatures, respectively, according to constraint (10d), while the binary temperature variables (\(B^{\mathrm{in}}_{5t}\) and \(B^{\mathrm {out}}_{5t}\)) are bounded by zero and one. Finally, the capacity (V 5) of the water tank is bounded by the limits dictated in constraint (11b).

We next attempt to tighten the variable bounds in (14) using an optimization-based approach. With this approach, each of the variables in (14) is maximized or minimized subject to the constraints in \((\mathcal{U})\) in order to obtain tighter upper or lower bounds, respectively. After executing bound tightening on all of the variable bounds in (14) for various small (i.e., one-day) instances of the problem, we find that only the upper bound on T 5t , the upper bound on \(B^{\mathrm{out}}_{5t}\), and the lower bound on \(F^{\mathrm{out}}_{5t}\) benefit from the bound tightening. The fact that these three bounds can be tightened logically follows from the relationships dictated by constraints (2b), (10a), and (10d). In certain time periods, the maximum possible inflow of heat from the CHP SOFCs and the minimum required outflow of heat to meet demand could make it impossible for the tank water temperature (T 5t ) to reach its upper bound (τ max), or even delivery temperature (\(\tau^{\mathrm {out}}_{6}\)), in the following time period, according to constraint (10a). If the tank water temperature is below the delivery temperature, then the indicator variable (\(B^{\mathrm{out}}_{5t}\)) must be set to its lower bound (zero), according to constraint (10d), and the flow of hot water (\(F^{\mathrm{out}}_{5t}\)) must be set to its upper bound, according to constraint (2b). Based on this information, we expedite the bound tightening procedure for larger (i.e., two-day and greater) instances of the problem by only applying the optimization to the upper bound on T 5t (referred to as \(\hat{T}_{5t}\)) and subsequently directly calculating the new upper bound on \(B^{\mathrm{out}}_{5t}\) (referred to as \(\hat{B}^{\mathrm {out}}_{5t}\)) and the new lower bound on \(F^{\mathrm{out}}_{5t}\) (referred to as \(\check{F}^{\mathrm{out}}_{5t}\)). To further speed the bound tightening, we relax integrality in \((\mathcal{U})\) as part of the following algorithm:

  • Bound tightening algorithm

    1. 1.

      Set \(\hat{T}_{5t}=\tau^{\mathrm{max}}, \hat{B}^{\mathrm {out}}_{5t}=1, \check{F}^{\mathrm{out}}_{5t}= (\frac{\tau^{\mathrm {out}}_{6}-\tau^{\mathrm{min}}}{\tau^{\mathrm{max}} - \tau^{\mathrm {min}}} ) (\frac{d^{H}_{t}}{h_{5} (\tau^{\mathrm{out}}_{6}-\tau ^{\mathrm{in}}_{5})} ) \ \forall t\).

    2. 2.

      Loop \(\forall t \in\mathcal{T}\).

      1. (a)

        Maximize T 5t subject to \((\mathcal{U})\) with integrality relaxed.

      2. (b)

        Set \(\hat{T}_{5t}\) equal to the objective value resulting from (a).

      3. (c)

        Set \(\hat{B}^{\mathrm{out}}_{5t}=1\) if \(\hat{T}_{5t}>\tau^{\mathrm {out}}_{6}\) and 0 otherwise.

      4. (d)

        Set \(\check{F}^{\mathrm{out}}_{5t}= (1- [1-\frac{\tau ^{\mathrm{out}}_{6}-\tau^{\mathrm{min}}}{\hat{T}_{5t} - \tau^{\mathrm {min}}} ] \hat{B}^{\mathrm{out}}_{5t} ) (\frac{d^{H}_{t}}{h_{5} (\tau^{\mathrm{out}}_{6}-\tau^{\mathrm{in}}_{5})} )\).

This algorithm can be repeated multiple times to try and achieve even tighter bounds. However, empirical evidence suggests the majority of the improvement in the bounds occurs within the first two to three repetitions. We also find that the algorithm results in the greatest improvement in the bounds on \(T_{5t},B^{\mathrm{out}}_{5t}\), and \(F^{\mathrm{out}}_{5t}\) in hours that follow large spikes in the heat demand. These tighter bounds are then applied in \((\mathcal{U})\), with the original objective function and integrality once again enforced, to obtain an improved (i.e., greater) global lower bound on the optimal objective value for \((\mathcal{P})\). For the instances presented in Sect. 4, the bound tightening algorithm increases the global lower bound on \((\mathcal{P})\) by an average of 1.6 %. We next present techniques for obtaining a global upper bound on the optimal objective value for \((\mathcal{P})\).

3.3 Upper bounding: linearization heuristic

An upper bound for an MI(N)LP minimization problem is provided by any integer-feasible solution. One integer-feasible solution to \((\mathcal {P})\) is to acquire no DG technologies and meet all of the building’s demand with the macrogrid and boiler. The cost of this “no DG” solution can be directly calculated, without solving \((\mathcal{P})\), using the C 5 and C 6 portions of the objective function and setting \(U^{\mathrm{out}}_{t}=d^{P}_{t} \ \forall t, U^{\mathrm {max}}_{n}=\max_{t \in\mathcal{T}_{n}} \lbrace d_{t}^{P}\rbrace\ \forall n\), and \(G_{6t}=d_{t}^{H}/\eta_{6} \ \forall t\). However, the “no DG” solution provides a weak upper bound on the total cost for the optimal solution to \((\mathcal{P})\) if DG technologies are economically viable. Thus, we wish to find an integer-feasible solution, if one exists, that includes some DG technologies and provides a lower total cost, and thus a tighter upper bound, than the “no DG” solution. Integer-feasible solutions can be obtained by solving \((\mathcal{P})\) with existing MINLP solvers for small problem instances. However, based on our testing, larger problem instances (i.e., greater than one week) cannot be solved with the currently available solvers. Accordingly, we next present a linearization heuristic, henceforth referred to as \((\mathcal{H})\), for determining integer-feasible solutions to \((\mathcal{P})\) that can be applied to the large instances.

The intuition behind \((\mathcal{H})\) is the observation that fixing the electric efficiency of the SOFCs (E 3t ,E 4t ) and the tank water temperature (T 5t ) renders \((\mathcal{P})\) linear. Simpler models in the literature similarly fix the efficiencies of generators and fix, or ignore, the temperature of thermal storage devices to avoid nonlinearity (e.g., Siddiqui et al. 2005b). When E 3t and E 4t are fixed, constraint (5a) is linearized by clearing the denominator on the right-hand side of the equation and constraint (6a) is linear without modification. When T 5t is fixed, constraints (10c) and (10d) fix the values of \(B^{\mathrm{in}}_{5t}\) and \(B^{\mathrm{out}}_{5t}\), respectively. With \(T_{5t}, B^{\mathrm{in}}_{5t}\), and \(B^{\mathrm {out}}_{5t}\) all fixed, constraints (2b) and (6b) are linear without modification and constraint (10a) is linearized by clearing the denominator on the right-hand side of the equation. Thus, the (\(\mathcal{H}\)) formulation is identical to (\(\mathcal{P}\)) with the exception of fixing \(3|\mathcal {T}|\) continuous variable values (E 3t ,E 4t , and T 5t ) and \(2|\mathcal{T}|\) binary variable values (\(B^{\mathrm{in}}_{5t}\) and \(B^{\mathrm{out}}_{5t}\)). Consequently, any feasible solution to the MILP (\(\mathcal{H}\)) is feasible for the MINLP (\(\mathcal{P}\)).

Although we obtain (\(\mathcal{P}\))-feasible solutions from (\(\mathcal {H}\))-feasible solutions, the fixed values for \(E_{3t},E_{4t},T_{5t},B^{\mathrm{in}}_{5t}\), and \(B^{\mathrm {out}}_{5t}\) must be carefully selected in order to achieve (\(\mathcal {H}\))-feasibility. Additionally, not every (\(\mathcal{P}\))-feasible solution produces a total cost less than the “no DG” solution. In general, the fixed variable values used in (\(\mathcal{H}\)) will produce lower cost (\(\mathcal{P}\))-feasible solutions if those fixed values are tailored to the power and heat demands of the building of interest. Hence, we next present techniques for selecting the fixed variable values used in (\(\mathcal{H}\)) with the goal of obtaining (\(\mathcal {P}\))-feasible solutions that incur a lower total cost than the “no DG” solution. In presenting these techniques, we distinguish between two types of system design solutions: DG systems with only power generation and storage (referred to as “power DG”) and DG systems with both power and heat generation and storage (referred to as “CHP DG”). Depending on the particular problem instance, one of these system design types may produce a lower cost solution than the other.

For a “power DG” system, the selection of fixed values for \(E_{4t},T_{5t},B^{\mathrm{in}}_{5t}\), and \(B^{\mathrm{out}}_{5t}\) is trivial. Because there is no SOFC exhaust heat capture in this case, CHP SOFCs are never acquired and the associated electric efficiency can simply be set to its minimum. Also, because there is no water storage tank, the water enters the boiler at return temperature in every hour and must be fully heated to delivery temperature. Less trivial, however, is the selection of the fixed values for the power-only SOFC electric efficiency (E 3t ). One might ignore the specific power demands of the building and simply fix the efficiency to the same value (e.g., the minimum, average, or maximum efficiency) in all hours. However, this approach forces the SOFCs to operate at the same power output for all hours in which they are utilized (see constraint (5a)) and, therefore, is unlikely to produce a (\(\mathcal {P}\))-feasible solution with a total cost as low as that produced by efficiency values which are tailored to the power demands. We can obtain these tailored fixed values for E 3t from the solution to (\(\mathcal{U}\)). Given the underestimation of constraint (5a) in (\(\mathcal{U}\)), we cannot directly apply the values for E 3t from the solution to (\(\mathcal{U}\)). However, the solution to (\(\mathcal{U}\)) provides valid values for \(P^{\mathrm {out}}_{3t}\) and N 3t , referred to as \(\breve{P}^{\mathrm {out}}_{3t}\) and \(\breve{N}_{3t}\), that we use along with constraint (5a) to derive \(\breve{E}_{3t}\). These tailored values are applied in \((\mathcal{H})\) as part of the following algorithm to obtain a \((\mathcal{P})\)-feasible solution:

  • Power DG\((\mathcal{P})\)-feasible solution algorithm

    1. 1.

      Solve \((\mathcal{U})\) and store resulting values for \(\breve {P}^{\mathrm{out}}_{3t}\) and \(\breve{N}_{3t} \ \forall t\).

    2. 2.

      Set \(T_{5t}=\tau^{\mathrm{in}}_{5}\), \(B^{\mathrm{in}}_{5t}=0\), \(B^{\mathrm{out}}_{5t}=0\), and \(E_{4t}=\eta^{\mathrm{min}}_{4} \ \forall t\).

    3. 3.

      Set \(E_{3t}=\breve{E}_{3t}=\) \((\frac{\eta^{\mathrm {max}}_{3}-\mu_{3} \eta^{\mathrm{min}}_{3}}{1- \mu_{3}} ) - (\frac {\eta^{\mathrm{max}}_{3}-\eta^{\mathrm{min}}_{3}}{k^{\mathrm{out}}_{3}(1- \mu _{3})} )(\breve{P}^{\mathrm{out}}_{3t}/\breve{N}_{3t})\) if \(\breve {N}_{3t}>0\), \(\eta^{\mathrm{min}}_{3}\) otherwise ∀t.

    4. 4.

      Solve \((\mathcal{H})\) and return its solution.

For “CHP DG” systems, the tailored fixed values for E 3t and E 4t are both determined from the solution to (\(\mathcal{U}\)), as previously demonstrated for \(\breve{E}_{3t}\) with “Power DG” systems. However, it may no longer be advisable to trivially fix the values for \(T_{5t},B^{\mathrm{in}}_{5t}\), and \(B^{\mathrm{out}}_{5t}\) to their minima. Fixing these variables to their minimum values prevents the storage of heat across time periods (see constraint (10a)) and likely wastes a large portion of the available exhaust heat from the CHP SOFCs. We would prefer to use as much of the exhaust heat as possible to keep the tank water as hot as possible and to reduce the heat provided by the boiler. Hence, the fixed values for \(T_{5t},B^{\mathrm{in}}_{5t}\), and \(B^{\mathrm{out}}_{5t}\) should be tailored to the heat supplied to the water tank by the CHP SOFCs and the heat demanded from the water tank by the building.

Any fixed values selected for \(T_{5t},B^{\mathrm{in}}_{5t}\), and \(B^{\mathrm{out}}_{5t}\) must satisfy constraints (10a) through (10e) to be (\(\mathcal{H}\))-feasible. In order to derive fixed values for T 5t that satisfy constraint (10a), we require values for the flowrate of heat from the CHP SOFCs (\(F^{\mathrm{in}}_{5t}\)), the flowrate of hot water from the tank (\(F^{\mathrm{out}}_{5t}\)), and the tank size (V 5). The values for \(F^{\mathrm{in}}_{5t}\) and V 5 are determined from the solution to (\(\mathcal{U}\)). Given \(\breve{P}^{\mathrm{out}}_{4t}\) and \(\breve {E}_{4t}\), along with constraints (6a) and (9a), we calculate the maximum flowrate of exhaust gas from the CHP SOFCs in each hour and use this as the value for \(F^{\mathrm {in}}_{5t}\). The value for V 5 is taken directly from the solution to (\(\mathcal{U}\)). With a fixed inflow of heat and fixed tank size, we can iteratively calculate values for T 5t that satisfy constraint (10a), values for \(B^{\mathrm{in}}_{5t}\) that satisfy constraint (10c), and values for \(B^{\mathrm{out}}_{5t}\) that satisfy constraint (10d). As part of the algorithm, we also calculate values for \(F^{\mathrm{out}}_{5t}\) that satisfy constraint (2b); however, these values are not fixed in \((\mathcal{H})\). Finally, in order to ensure the satisfaction of constraint (10e), we set the tank temperature in the initial time period (T 5,1) equal to the temperature in the terminal time period (\(T_{5,|\mathcal{T}|}\)) after the first execution of the algorithm. We then continue executing the algorithm until the terminal tank temperature is equal to the initial tank temperature. Empirically, we find that the terminal temperature is so insensitive to the initial temperature that only two repetitions total of the algorithm are necessary. These tailored temperature values are applied in \((\mathcal{H})\) as part of the following algorithm to obtain a “CHP DG” \((\mathcal{P})\)-feasible solution:

  • CHP DG\((\mathcal{P})\)-feasible solution algorithm

    1. 1.

      Solve \((\mathcal{U})\) and store resulting values for \(\breve {P}^{\mathrm{out}}_{jt}, \breve{N}_{jt} \ \forall j,t\), and \(\breve{V}_{5}\).

    2. 2.

      Set \(E_{jt}=\breve{E}_{jt} \ \forall j,t\), \(F^{\mathrm {in}}_{5t}=\gamma_{4}(\breve{P}^{\mathrm{out}}_{4t}/\breve{E}_{4t}) \ \forall t, V_{5}=\breve{V}_{5}\), and T 5,1=τ max.

    3. 3.

      Loop \(\forall t \in\mathcal{T}\).

      1. (a)

        Set \(B^{\mathrm{in}}_{5t}=\) 1 if \(T_{5t}>(\tau^{\mathrm{in}}_{5} + \varepsilon)\), 0 otherwise.

      2. (b)

        Set \(B^{\mathrm{out}}_{5t}=\) 1 if \(T_{5t} > \tau^{\mathrm {out}}_{6}\), 0 otherwise.

      3. (c)

        Let \(F^{\mathrm{out}}_{5t}= (1 - [1 - \frac{\tau ^{\mathrm{out}}_{6}-\tau^{\mathrm{min}}}{T_{5t}-\tau^{\mathrm{min}}} ]B^{\mathrm{out}}_{5t} ) (\frac{d^{H}_{t}}{h_{5} (\tau^{\mathrm {out}}_{6}-\tau^{\mathrm{in}}_{5})} )\).

      4. (d)

        Set

        $$\begin{aligned} T_{5,t+1} =& \max \biggl\lbrace\tau^{\mathrm{in}}_5,\min \biggl \lbrace\tau^{\mathrm{max}}, \bigl(1-\alpha_5 B^{\mathrm{in}}_{5t} \bigr)T_{5t}\\ &{} + \frac{\delta\eta_5 h_4 F^{\mathrm{in}}_{5t} (\tau^{\mathrm{out}}_4 - T_{5t}) - \delta h_5 F^{\mathrm{out}}_{5t}(T_{5t}-\tau^{\mathrm {in}}_5)}{h_5 V_5}\biggr\rbrace \biggr\rbrace. \end{aligned}$$
    4. 4.

      If \(T_{5,|\mathcal{T}|}=T_{5,1}\) then go to Step 5. Otherwise, set \(T_{5,1}=T_{5,|\mathcal{T}|}\) and return to Step 3.

    5. 5.

      Solve \((\mathcal{H})\) and return its solution.

Upon obtaining the “no DG,” “power DG,” and “CHP DG” \((\mathcal {P})\)-feasible solutions for a given problem instance, we choose the solution with the lowest cost to provide the tightest upper bound on the optimal solution to \((\mathcal{P})\).

4 Case studies

In this section, we provide solutions from \((\mathcal{U})\) and \((\mathcal{H})\) for a six-story, 122,000 square foot hotel located in Los Angeles, California. We then compare our solutions to those provided by existing solvers.

4.1 Building, utility, and technology data

The hourly electricity and heating demands for the hotel are simulated using a benchmark building model in EnergyPlus (see DOE 2010). The electricity demand includes lighting, equipment, and cooling, while the heating demand includes both space and water heating.

We use simulated data in our numerical experiments because full-year hourly electricity, cooling, and heating data for a given building are generally very difficult to obtain. However, justification for using the simulated data from EnergyPlus is based on the following reasons: (i) EnergyPlus reflects an industry standard in building energy simulation models that yield reasonable data, and the software has been extensively benchmarked against real building energy performance data; (ii) our model is intended to be used for any building type in any geographic location and with any utility pricing combination. Having a “model” of a building allows us to examine the applicability of the solutions for different geographic zones and utility price structures, regardless of how specific electricity and heating demands are obtained; and (iii) the data only need be broadly reflective of the building type and occupancy pattern. Actual hourly data are not required as “real” data and “simulated” data cannot be distinguished from one another, even by an informed observer. The hotel’s hourly power and heat demands on a summer weekday and winter weekday are depicted in Fig. 2.

Fig. 2
figure 2

Power and heat demand for a large hotel located in Los Angeles, California

Electricity prices are based on Southern California Edison’s rate schedule for commercial customers (see SCE 2010), while natural gas prices are based on Southern California Gas Company’s rate schedule for core commercial service (see SCGC 2010). The energy prices from each utility on a summer weekday and winter weekday are provided in Fig. 3. According to Kaffine et al. (Kaffine et al. 2011), the average carbon emissions rate for power plants in the California Independent System Operator (CAISO) territory, which serves Los Angeles, is 0.15 kg/kWh (≈ 0.16 tons/MWh). This relatively low rate is due to the lack of coal-fired plants and the prevalence of wind power and natural gas-fired plants. We use a carbon tax of $0.02 per kg (≈ $20 per ton) and assume that the building owner is taxed for the generation of the purchased power.

Fig. 3
figure 3

Electricity and natural gas prices for commercial customers in Los Angeles, California

For our DG system, the generators available for acquisition are power-only SOFCs, CHP SOFCs, and fixed-tilt PV cells with the costs and performance characteristics provided in Table 2. The average hourly availability of the PV cells, given the prevailing weather, is determined by the PVWATTS Performance Calculator developed by the National Renewable Energy Laboratory (see NREL 2011). The amortized capital costs of all of the technologies are calculated according to Eq. (13) based on the initial capital costs and average lifetimes in Table 2, along with a 5 % annual interest rate. The initial capital costs we use represent a fraction (about 70 %) of today’s pre-commercial costs typically quoted in the literature. Our optimization runs using present costs generally result in the “no DG” solution in business-as-usual analyses (i.e., without incorporating externalities such as carbon taxes). However, future fuel cell system costs based on high-volume manufacturing and a mature technology are estimated to fall by a factor of 2–3 (Wachsman et al. 2012). Therefore, in order to present interesting, forward-looking results, and without any loss of generality regarding our solution procedure, we use (conservative) projected future costs, rather than current costs.

Table 2 Generator cost and performance parameter values

The storage technologies available for acquisition are lead-acid batteries (electric) and a hot water tank (thermal), with the costs and performance characteristics listed in Table 3. For simplicity, we assume that there is no additional capital cost to increase the size of the water tank beyond its minimum. Thus, the increased capital cost for the CHP SOFC option is assumed to account for the cost of the water tank, regardless of its size. The temperature of the water in the tank is assumed to decrease by 1 % per hour due to ambient heat loss. The values for the specific heat of SOFC exhaust and tank water are 0.0003 kWh/(kg °C) and 0.0044 kWh/(gal °C), respectively. The average return and maximum temperatures for the water in the tank are 16 °C and 85 °C, respectively, and we assume that the hot water must be delivered to all faucets and radiators at 60 °C.

Table 3 Storage cost and performance parameter values

The boiler has an average thermal efficiency of 75 % and O&M costs of $0.01 per kWh of heat supplied. We use a carbon emissions rate of 0.18 kg/kWh for the combustion of natural gas (see NaturalGas.org 2011). Thus, the carbon emissions from the SOFCs and boiler are determined by multiplying this emissions rate by the amount of natural gas consumed.

4.2 Comparison of solutions with existing solvers

We next solve \((\mathcal{U})\) and \((\mathcal{H})\) for instances with time horizons ranging from one day to one year (see Table 1), and compare our solutions with those provided by solving \((\mathcal{P})\) directly using existing MINLP solvers. MINLP solvers which accept models coded in AMPL (AMPL 2009) include MINOTAUR-BnB (Mahajan et al. 2011), MINOTAUR-QPD (Mahajan et al. 2012), and MINLP-B&B (Leyffer 1998). A prominent MINLP solver that only accepts GAMS (Brooke et al. 1992) input is BARON (Sahinidis 1996). Couenne (Belotti 2009) and BONMIN (Bonami et al. 2008) accept both AMPL and GAMS input, and we use GAMS input in both these cases. All runs involving solving \((\mathcal{P})\) directly via these six state-of-the-art optimizers are carried out on a 64-bit Linux box with a Xeon E5430 processor running at 2.66 GHz with 6 Mb of memory. All codes are compiled with gcc/gfortran version 4.4.3 under Linux-Ubuntu 10.04. In all instances, we use the solvers’ default optimality gap, and we enforce a time limit of 36,000 seconds.

Both global solvers, BARON and Couenne, reach the time limit of 10 hours on all runs. BARON is able to find a reasonably good upper bound for the one- to seven-day data sets, while Couenne does not find an upper bound for data sets with more than two days. These solvers are, however, constructing underestimators to prove global optimality, so we expect the solve times to be longer than those of the local solvers. Note that the global solver, BARON, uses the well known underestimation procedure that forms the basis for our problem \((\mathcal{U})\). In fact, BARON even incorporates an efficient technique that generates selected facets of multilinear functions which may not only be tighter than the underestimators we use, but which may also include fewer needless cuts (i.e., cuts that do not strengthen the relaxation). However, as we discuss below, we find that our tailored techniques for solving \((\mathcal{U})\) and \((\mathcal{H})\) produce bounds and solutions faster than the more generalized methods employed by BARON.

Of the local solvers, MINLP-B&B generally finds the best solution, and the local solvers usually find better upper bounds (putative solutions) than the global solvers in less time. MINOTAUR’s solution times are the fastest. We also remark on the small number of nodes searched by MINOTAUR, which can be explained by the fact that the solver performs a heuristic search first, and terminates its tree search when the root node relaxation is within a small tolerance of the solution found by the heuristic search. None of the solvers produce a meaningful solution for instances with more than 31 days. That is, no solver’s performance scales well with the size of our instances. BONMIN, Couenne, and MINLP-B&B all terminate with segmentation faults from their respective nonlinear solvers for the 31-day instances, indicating the difficulty of solving the nonlinear optimization problems. We report the results in Table 4 for time horizons of up to seven days.

Table 4 Objective function values (given as the percent of the “no DG” solution), solution times (in seconds), and the number of nodes processed for the one- to seven-day instances of \((\mathcal{P})\) using the global solvers BARON and Couenne, and the local solvers MINOTAUR-BnB, MINOTAUR-QPD, Bonmin, and MINLPBB

Because of existing solvers’ inability to solve large, or even medium-sized, instances of \((\mathcal{P})\), we use our lower bounding and heuristic techniques described in Sect. 3.2 and Sect. 3.3, respectively, to enhance performance. \((\mathcal{U})\) and \((\mathcal {H})\) are both coded in AMPL Version 20090327 and are solved with CPLEX 12.3 (IBM 2011) on a 64-bit workstation under the Linux operating system with four Intel processors running at 2.27 GHz and with 12 GB of RAM. \((\mathcal{U})\) represents the nonconvex constraints in the original problem, \((\mathcal{P})\), replaced by their convex underestimators. In this sense, \((\mathcal{U})\) provides global lower bounds for \((\mathcal{P})\) instances. Similarly, \((\mathcal{H})\) provides integer solutions. Solving these two linear problems, which yield conservative lower and upper bounds, respectively, for \((\mathcal {P})\), quickly produces solutions for instances of up to one year; the quality of these solutions can be bounded, albeit more slowly than using the existing solvers.

Prior to solving instances of \((\mathcal{U})\), we execute the bound tightening algorithm described in Sect. 3.2 on the continuous variables for water temperature (T 5t ) and flowrate (\(F^{\mathrm{out}}_{5t}\)), as well as on the binary variable (\(B^{\mathrm{out}}_{5t}\)) that indicates the delivery temperature of the water. Table 5 presents the bound improvement achieved by five iterations of bound tightening on each of the three variables for the six time horizons of interest. In general, the bound improvement decreases as the time horizon increases. However, we witness a relatively large increase in bound improvement between the one-month and one-year instances of the problem. This is due to the fact that the one-day through one-month instances of the problem all comprise summer time periods when the heating demand is relatively low (see Fig. 2). As we discussed at the end of Sect. 3.2, the bound improvement on the water temperature and flowrate variables tends to be greater during periods of high heating demand. Thus, for the one-year instance, which includes winter time periods with relatively high heating demand, the bound improvement is greater. Figures 4 and 5 depict the distribution of bound improvement for the water temperature (T 5t ) and flowrate (\(F^{\mathrm{out}}_{5t}\)) variables for the one-year instance of the problem. The histograms demonstrate the high frequency of hours for which the bound improvement is very low (primarily summer hours) and the high frequency of hours for which the bound improvement is very high (primarily winter hours).

Fig. 4
figure 4

Histogram of the percentage decrease in the upper bound on T 5t for the one-year instance

Fig. 5
figure 5

Histogram of the percentage increase in the lower bound on \(F^{\mathrm{out}}_{5t}\) for the one-year instance

Table 5 Average improvement in the bounds on \(T_{5t},F^{\mathrm {out}}_{5t}\), and \(B^{\mathrm{out}}_{5t}\) resulting from five iterations of the bound tightening algorithm described in Sect. 3.2

After executing bound tightening, we solve the instances of \((\mathcal {U})\) and \((\mathcal{H})\), with the tightened bounds, and compare the solutions with those provided by MINOTAUR-BnB. MINOTAUR-BnB finds integer-feasible solutions to larger problems than the other solvers, though it is a local solver. We provide the solutions, solve times (which do not include the time for bound tightening), and optimality gaps for each instance in Table 6. In all instances, we express the solutions as a fraction of the total cost of the “no DG” solution.

Table 6 \((\mathcal{P})\)-feasible solutions provided by our techniques and by MINOTAUR-BnB for time horizons of one day to one year. In these instances, \((\mathcal{U})\) reaches the 36,000 second time limit prior to achieving a 1 % optimality gap. The time beyond 36,000 seconds is the solve time for \((\mathcal{H})\)

For each of the six instances with varying time horizons, we solve \((\mathcal{U})\) to obtain a global lower bound on \((\mathcal{P})\). We then use variable values from the solution of \((\mathcal{U})\) to solve \((\mathcal{H})\) and obtain an integer solution (upper bound) for \((\mathcal{P})\). For the two largest instances, \((\mathcal{U})\) terminates at the 36,000 second time limit prior to achieving the specified optimality gap of 1 %. In these instances, we use the best lower bound on \((\mathcal{U})\) at the point of termination as the global lower bound on \((\mathcal{P})\). Thus, the optimality gaps reported in the table are based on the difference between the optimal objective function value of \((\mathcal{H})\) and the appropriate global lower bound provided by \((\mathcal{U})\). By contrast, given the nonconvex nature of \((\mathcal{P})\), the optimality gaps reported for MINOTAUR-BnB may not provide valid global lower bounds, and therefore do not necessarily indicate proximity of the integer solutions to global optimality. Correspondingly, we do not report the bounds in the table.

Our techniques and MINOTAUR-BnB are both capable of obtaining \((\mathcal {P})\)-feasible solutions for instances with time horizons of up to 31 days (744 hours). For these instances, our solutions are better than those obtained by MINOTAUR, and require a significantly shorter solve time. Additionally, only \((\mathcal{U})\) and \((\mathcal{H})\) provide the possibility of solving instances with time horizons of one year. For that instance, MINOTAUR-BnB terminates at the time limit without an integer-feasible solution. Though \((\mathcal{U})\) terminates at the time limit without full convergence for the one-month and one-year instances, we still obtain a global lower bound on \((\mathcal{P})\) and information that can be used in solving \((\mathcal{H})\) to obtain an integer solution to \((\mathcal{P})\). Therefore, our bounding techniques provide two critical advantages over existing MINLP solvers: the capacity to solve large instances of \((\mathcal{P})\) and an indication of the proximity of those solutions to global optimality.

Although we solve only instances containing at most 8,760 hourly time periods, it would be possible using our techniques to solve instances with even longer time horizons. Our techniques rely on solving mixed integer linear programming problems with the branch-and-bound algorithm, an algorithm which exhibits exponential behavior. On one hand, despite the exponential performance of branch-and-bound, the heuristic we use to obtain good feasible solutions, \((\mathcal{H})\), solves even the largest instance quickly because of the relatively uncomplicated structure of the model. On the other hand, the lower bounding procedure requires weeks to run for the longest instance, in part, because the more iterations we run to tighten the variable bounds before running \((\mathcal{U})\), the longer the solution time (but the better the bound). That the bound tightening can consume significant run time suggests that a two-year or longer instance may have an easily obtainable integer solution but that proving its quality would require weeks of computation time. However, at any rate, our techniques produce good solutions and valid bounds for instances in which state-of-the-art optimizers cannot.

Regarding the attributes of the solutions themselves, for each instance other than the one-year time horizon, we obtain solutions that incorporate DG technologies and result in total costs ranging from about 87 % to 99 % relative to the corresponding cost of the “no DG” solution. The primary reason that the smaller-time-horizon solutions include DG acquisition, while the one-year-time-horizon solution does not, is the combination of building power demand and utility electricity pricing over the time horizon of interest. The one-month and shorter time horizons comprise only summer time periods. Based on the demand and pricing data depicted in Figs. 2 and 3, respectively, the building power demand and utility electricity pricing are both relatively high in the summer. Thus, the savings provided by operating a DG system to meet the building’s power demands, versus purchasing all of the electricity from the utility, are relatively high during the summer. As a result, DG acquisition is more economically attractive when only summer time periods are considered. By contrast, when we consider the entire year, which includes winter time periods with relatively lower power demand and electricity pricing, the savings provided by DG are relatively lower and the technologies are less economically attractive.

Another reason that the lowest-cost solution we obtain for the one-year instance is no better than the “no DG” solution is that the capital costs are 70 % of today’s pre-commercial costs, a percentage that is still relatively high compared with purchasing power from the grid at costs current at the time of this writing. Were we to reduce this percentage, we would see investments in the DG technologies. Indeed, these capital costs are likely to decrease over time, making future capital installation costs 30 % of today’s costs realistic. All of our computational procedures (i.e., the heuristic and the lower bounding techniques) are generalizable so, indeed, it would be possible to create other scenarios with lower capital costs, solving them using our procedures.

5 Conclusions

In this paper, we present an optimization model which determines the configuration, capacity, and operational schedule of a DG system capable of meeting the power and heat demands of a commercial building at the globally minimum total cost. The model includes aspects of the system operation that are not considered in other research. In particular, we model the operational status, ramping capacity, and variable electric efficiency of power generation technologies. Additionally, we model thermal storage as a function of the temperature at which hot water is stored. These modeling innovations allow us to capture detailed system performance characteristics and to obtain realistic solutions. However, those same innovations require additional integer variables in every time period and nonlinearities that dictate our system be modeled as a large, nonconvex MINLP.

The algorithms capable of solving large, nonconvex MINLPs to global optimality are limited. In order to execute a nonlinear branch-and-bound algorithm that is capable of solving such problems to global optimality, we require methods for determining global lower and upper bounds on the optimal objective function value at each node of the branch-and-bound tree. Yet, solving the continuous relaxation of a nonconvex MINLP may not lead to a global lower bound and currently available solvers are not capable of solving large instances of nonconvex MINLPs to obtain a global upper bound. As a result, we formulate a convex underestimation of our MINLP to obtain a global lower bound and develop a linearization heuristic to obtain a global upper bound.

We demonstrate our bounding techniques for model instances ranging in size from one day to one year using a large hotel located in Los Angeles, CA as a case study. We then compare our solutions with those provided by existing solvers. Few existing solvers are capable of obtaining solutions for instances of our MINLP with time horizons of longer than one week. Those that can solve these instances offer little to no improvement over the solutions provided by our techniques and require a longer run time. Furthermore, our techniques present the possibility to solve larger instances of the problem that exceed the capacity of existing solvers. The ability to solve these larger instances is critical to the real-world application of the model to inform long-term capital investment decisions. Specifically, our ability to capture an entire year’s worth of data to produce a solution provides us with a better representation of the cost-minimizing operation of a system and the corresponding optimal design. Were we to capture only a representative day for each season in our scenario, we would be omitting the day-to-day fluctuations that occur, and we would be assuming that we could employ a method (in terms of the variables for which our model determines values) for addressing these fluctuations. Such a method would rely upon the assumption that there is only a finite number of seasons within a year, each of which could be characterized by a representative day. While this may be a reasonable approximation, it is certainly not realistic; there are transitions between days, or seasons, characterized by, for example, a slow increase in the heating demand. Such a trend could not be adequately captured nor optimally accounted for in the design and operation of a DG system without the explicit incorporation of the hours, or days, that exhibit the trend.

The solutions obtained from our model provide valuable insights into the acquisition and operation of commercial sector DG systems. Additionally, sensitivity analyses have the potential to influence future energy policy measures. The parameters for utility pricing, carbon taxation, building demand, DG capital and operational costs, and DG technological performance can all be analyzed within the context of our model to determine the conditions for which DG is most economically and environmentally viable. Further research could also include uncertainty in building demand, system output, and utility pricing to test the robustness of the system design solutions. With such computational tools providing both critical information and quantitative assessments of the energetic and economic benefits of DG-based solutions, CHP and other distributed energy resources might finally achieve substantial market penetration.